diff options
author | Hans Bolinder <[email protected]> | 2018-02-27 15:42:52 +0100 |
---|---|---|
committer | Hans Bolinder <[email protected]> | 2018-03-09 14:45:42 +0100 |
commit | 5c7209c2874849a5a7339e23fdbd9aed1bb935b2 (patch) | |
tree | 66d3f1b29fb11f9db988b514800be926737a5641 /lib/stdlib/test | |
parent | 13e83e2e11b3d211c17c53140249a235b4d7a436 (diff) | |
download | otp-5c7209c2874849a5a7339e23fdbd9aed1bb935b2.tar.gz otp-5c7209c2874849a5a7339e23fdbd9aed1bb935b2.tar.bz2 otp-5c7209c2874849a5a7339e23fdbd9aed1bb935b2.zip |
stdlib: Add function lists:search/2
This is essentially PR 102, https://github.com/erlang/otp/pull/102.
The OTP Technical Board decided to change the name of the function to
search/2.
Diffstat (limited to 'lib/stdlib/test')
-rw-r--r-- | lib/stdlib/test/lists_SUITE.erl | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/lib/stdlib/test/lists_SUITE.erl b/lib/stdlib/test/lists_SUITE.erl index 7c99244b36..837ab4e97e 100644 --- a/lib/stdlib/test/lists_SUITE.erl +++ b/lib/stdlib/test/lists_SUITE.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 1997-2017. All Rights Reserved. +%% Copyright Ericsson AB 1997-2018. All Rights Reserved. %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. @@ -57,7 +57,7 @@ filter_partition/1, join/1, otp_5939/1, otp_6023/1, otp_6606/1, otp_7230/1, - suffix/1, subtract/1, droplast/1, hof/1]). + suffix/1, subtract/1, droplast/1, search/1, hof/1]). %% Sort randomized lists until stopped. %% @@ -121,7 +121,7 @@ groups() -> {zip, [parallel], [zip_unzip, zip_unzip3, zipwith, zipwith3]}, {misc, [parallel], [reverse, member, dropwhile, takewhile, filter_partition, suffix, subtract, join, - hof, droplast]} + hof, droplast, search]} ]. init_per_suite(Config) -> @@ -2615,6 +2615,20 @@ droplast(Config) when is_list(Config) -> ok. +%% Test lists:search/2 +search(Config) when is_list(Config) -> + F = fun(I) -> I rem 2 =:= 0 end, + F2 = fun(A, B) -> A > B end, + + {value, 2} = lists:search(F, [1,2,3,4]), + false = lists:search(F, [1,3,5,7]), + false = lists:search(F, []), + + %% Error cases. + {'EXIT',{function_clause,_}} = (catch lists:search(badfun, [])), + {'EXIT',{function_clause,_}} = (catch lists:search(F2, [])), + ok. + %% Briefly test the common high-order functions to ensure they %% are covered. hof(Config) when is_list(Config) -> |