Packages
gleam_stdlib
0.15.0
1.0.3
1.0.2
1.0.1
1.0.0
0.71.0
0.70.0
0.69.0
0.68.1
0.68.0
0.67.1
0.67.0
0.65.0
0.64.0
0.63.2
0.63.1
0.63.0
0.62.1
0.62.0
0.61.0
0.60.0
0.59.0
0.58.0
0.57.0
0.56.0
0.55.0
0.54.0
0.53.0
0.52.0
0.51.0
0.50.0
0.49.0
0.48.0
0.47.0
0.46.0
0.45.0
0.44.0
0.43.0
0.42.0
0.41.0
0.40.0
0.39.0
0.38.0
0.37.0
0.36.0
0.35.1
0.35.0
0.34.0
0.33.1
0.33.0
0.32.1
0.32.0
0.31.0
0.30.2
0.30.1
0.30.0
0.29.2
0.29.1
0.29.0
0.28.2
0.28.1
0.28.0
0.27.0
0.26.1
0.26.0
0.25.0
0.24.0
0.23.0
0.22.3
0.22.2
0.22.1
0.22.0
0.21.0
0.20.0
0.19.3
0.19.2
0.19.1
0.19.0
0.18.1
0.18.0
0.18.0-rc1
0.17.1
0.17.0
0.16.0
0.15.0
0.14.0
0.13.0
0.12.0
0.11.0
0.10.1
0.10.0
0.9.0
0.8.0
0.7.0
0.6.0
0.5.0
0.4.0
0.4.0-rc1
0.3.1
0.3.0
0.2.0
retired
A standard library for the Gleam programming language
Current section
Files
Jump to
Current section
Files
gen/test/gleam@regex_test.erl
-module(gleam@regex_test).
-compile(no_auto_import).
-export([from_string_test/0, compile_test/0, check_test/0, split_test/0, scan_test/0]).
-spec from_string_test() -> gleam@should:expectation().
from_string_test() ->
Re@1 = case gleam@regex:from_string(<<"[0-9]"/utf8>>) of
{ok, Re} -> Re;
Gleam@Assert ->
erlang:error(#{gleam_error => assert,
message => <<"Assertion pattern match failed"/utf8>>,
value => Gleam@Assert,
module => <<"gleam/regex_test"/utf8>>,
function => <<"from_string_test"/utf8>>,
line => 7})
end,
gleam@should:equal(gleam@regex:check(Re@1, <<"abc123"/utf8>>), true),
gleam@should:equal(gleam@regex:check(Re@1, <<"abcxyz"/utf8>>), false),
From_string_err@1 = case gleam@regex:from_string(<<"[0-9"/utf8>>) of
{error, From_string_err} -> From_string_err;
Gleam@Assert@1 ->
erlang:error(#{gleam_error => assert,
message => <<"Assertion pattern match failed"/utf8>>,
value => Gleam@Assert@1,
module => <<"gleam/regex_test"/utf8>>,
function => <<"from_string_test"/utf8>>,
line => 15})
end,
gleam@should:equal(
From_string_err@1,
{compile_error, <<"missing terminating ] for character class"/utf8>>, 4}
).
-spec compile_test() -> gleam@should:expectation().
compile_test() ->
Options = {options, true, false},
Re@1 = case gleam@regex:compile(<<"[A-B]"/utf8>>, Options) of
{ok, Re} -> Re;
Gleam@Assert ->
erlang:error(#{gleam_error => assert,
message => <<"Assertion pattern match failed"/utf8>>,
value => Gleam@Assert,
module => <<"gleam/regex_test"/utf8>>,
function => <<"compile_test"/utf8>>,
line => 26})
end,
gleam@should:equal(gleam@regex:check(Re@1, <<"abc123"/utf8>>), true),
Options@1 = {options, false, true},
Re@3 = case gleam@regex:compile(<<"^[0-9]"/utf8>>, Options@1) of
{ok, Re@2} -> Re@2;
Gleam@Assert@1 ->
erlang:error(#{gleam_error => assert,
message => <<"Assertion pattern match failed"/utf8>>,
value => Gleam@Assert@1,
module => <<"gleam/regex_test"/utf8>>,
function => <<"compile_test"/utf8>>,
line => 32})
end,
gleam@should:equal(gleam@regex:check(Re@3, <<"abc\n123"/utf8>>), true).
-spec check_test() -> gleam@should:expectation().
check_test() ->
Re@1 = case gleam@regex:from_string(<<"^f.o.?"/utf8>>) of
{ok, Re} -> Re;
Gleam@Assert ->
erlang:error(#{gleam_error => assert,
message => <<"Assertion pattern match failed"/utf8>>,
value => Gleam@Assert,
module => <<"gleam/regex_test"/utf8>>,
function => <<"check_test"/utf8>>,
line => 39})
end,
gleam@should:equal(gleam@regex:check(Re@1, <<"foo"/utf8>>), true),
gleam@should:equal(gleam@regex:check(Re@1, <<"boo"/utf8>>), false).
-spec split_test() -> gleam@should:expectation().
split_test() ->
Re@1 = case gleam@regex:from_string(<<" *, *"/utf8>>) of
{ok, Re} -> Re;
Gleam@Assert ->
erlang:error(#{gleam_error => assert,
message => <<"Assertion pattern match failed"/utf8>>,
value => Gleam@Assert,
module => <<"gleam/regex_test"/utf8>>,
function => <<"split_test"/utf8>>,
line => 49})
end,
gleam@should:equal(
gleam@regex:split(Re@1, <<"foo,32, 4, 9 ,0"/utf8>>),
[<<"foo"/utf8>>,
<<"32"/utf8>>,
<<"4"/utf8>>,
<<"9"/utf8>>,
<<"0"/utf8>>]
).
-spec scan_test() -> gleam@should:expectation().
scan_test() ->
Re@1 = case gleam@regex:from_string(<<"Gl\\w+"/utf8>>) of
{ok, Re} -> Re;
Gleam@Assert ->
erlang:error(#{gleam_error => assert,
message => <<"Assertion pattern match failed"/utf8>>,
value => Gleam@Assert,
module => <<"gleam/regex_test"/utf8>>,
function => <<"scan_test"/utf8>>,
line => 56})
end,
gleam@should:equal(
gleam@regex:scan(Re@1, <<"!Gleam"/utf8>>),
[{match, <<"Gleam"/utf8>>, 1, []}]
),
gleam@should:equal(
gleam@regex:scan(Re@1, <<"हGleam"/utf8>>),
[{match, <<"Gleam"/utf8>>, 3, []}]
),
gleam@should:equal(
gleam@regex:scan(Re@1, <<"𐍈Gleam"/utf8>>),
[{match, <<"Gleam"/utf8>>, 4, []}]
),
Re@3 = case gleam@regex:from_string(<<"[oi]n a(.?) (\\w+)"/utf8>>) of
{ok, Re@2} -> Re@2;
Gleam@Assert@1 ->
erlang:error(#{gleam_error => assert,
message => <<"Assertion pattern match failed"/utf8>>,
value => Gleam@Assert@1,
module => <<"gleam/regex_test"/utf8>>,
function => <<"scan_test"/utf8>>,
line => 67})
end,
gleam@should:equal(
gleam@regex:scan(Re@3, <<"I am on a boat in a lake."/utf8>>),
[{match, <<"on a boat"/utf8>>, 5, [none, {some, <<"boat"/utf8>>}]},
{match, <<"in a lake"/utf8>>, 15, [none, {some, <<"lake"/utf8>>}]}]
).