aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stdlib/test/maps_SUITE.erl
diff options
context:
space:
mode:
authorBjörn-Egil Dahlberg <[email protected]>2015-05-19 10:16:47 +0200
committerBjörn-Egil Dahlberg <[email protected]>2015-05-19 10:16:47 +0200
commit3c7d5d09be54a602cc9bca3d47dd593e479d90d8 (patch)
tree3f50f70d6c6b149a305f5a178f3f56a248e362fe /lib/stdlib/test/maps_SUITE.erl
parenta3ccd5d0b7e51d67dd65aee37695bc4338f1a195 (diff)
parent48bd85fdfc0648facfc76078f8556a00b4f6febb (diff)
downloadotp-3c7d5d09be54a602cc9bca3d47dd593e479d90d8.tar.gz
otp-3c7d5d09be54a602cc9bca3d47dd593e479d90d8.tar.bz2
otp-3c7d5d09be54a602cc9bca3d47dd593e479d90d8.zip
Merge branch 'egil/maps-filter/OTP-12745'
* egil/maps-filter/OTP-12745: stdlib: Use lc to implement maps:map/2 stdlib: Test maps:filter/2 stdlib: Document maps:filter/2 stdlib: Add maps:filter/2
Diffstat (limited to 'lib/stdlib/test/maps_SUITE.erl')
-rw-r--r--lib/stdlib/test/maps_SUITE.erl14
1 files changed, 12 insertions, 2 deletions
diff --git a/lib/stdlib/test/maps_SUITE.erl b/lib/stdlib/test/maps_SUITE.erl
index 1d9c041a74..21e146ae3d 100644
--- a/lib/stdlib/test/maps_SUITE.erl
+++ b/lib/stdlib/test/maps_SUITE.erl
@@ -34,7 +34,7 @@
-export([init_per_testcase/2]).
-export([end_per_testcase/2]).
--export([t_get_3/1,
+-export([t_get_3/1, t_filter_2/1,
t_fold_3/1,t_map_2/1,t_size_1/1,
t_with_2/1,t_without_2/1]).
@@ -45,7 +45,7 @@ suite() ->
[{ct_hooks, [ts_install_cth]}].
all() ->
- [t_get_3,
+ [t_get_3,t_filter_2,
t_fold_3,t_map_2,t_size_1,
t_with_2,t_without_2].
@@ -99,6 +99,16 @@ t_with_2(_Config) ->
?badarg(with,[a,#{}]) = (catch maps:with(a,#{})),
ok.
+t_filter_2(Config) when is_list(Config) ->
+ M = #{a => 2, b => 3, c=> 4, "a" => 1, "b" => 2, "c" => 4},
+ Pred1 = fun(K,V) -> is_atom(K) andalso (V rem 2) =:= 0 end,
+ Pred2 = fun(K,V) -> is_list(K) andalso (V rem 2) =:= 0 end,
+ #{a := 2,c := 4} = maps:filter(Pred1,M),
+ #{"b" := 2,"c" := 4} = maps:filter(Pred2,M),
+ %% error case
+ ?badmap(a,filter,[_,a]) = (catch maps:filter(fun(_,_) -> ok end,id(a))),
+ ?badarg(filter,[<<>>,#{}]) = (catch maps:filter(id(<<>>),#{})),
+ ok.
t_fold_3(Config) when is_list(Config) ->
Vs = lists:seq(1,200),