1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
|
-module(gleam@string_test).
-compile(no_auto_import).
-export([length_test/0, lowercase_test/0, uppercase_test/0, reverse_test/0, split_test/0, replace_test/0, append_test/0, compare_test/0, contains_test/0, concat_test/0, repeat_test/0, join_test/0, trim_test/0]).
length_test() ->
gleam@should:equal(gleam@string:length(<<"ß↑e̊"/utf8>>), 3),
gleam@should:equal(gleam@string:length(<<"Gleam"/utf8>>), 5),
gleam@should:equal(gleam@string:length(<<""/utf8>>), 0).
lowercase_test() ->
gleam@should:equal(
gleam@string:lowercase(<<"Gleam"/utf8>>),
<<"gleam"/utf8>>
).
uppercase_test() ->
gleam@should:equal(
gleam@string:uppercase(<<"Gleam"/utf8>>),
<<"GLEAM"/utf8>>
).
reverse_test() ->
gleam@should:equal(
gleam@string:reverse(<<"Gleam"/utf8>>),
<<"maelG"/utf8>>
).
split_test() ->
gleam@should:equal(
gleam@string:split(<<"Gleam,Erlang,Elixir"/utf8>>, <<","/utf8>>),
[<<"Gleam"/utf8>>, <<"Erlang"/utf8>>, <<"Elixir"/utf8>>]
),
gleam@should:equal(
gleam@string:split(<<"Gleam, Erlang,Elixir"/utf8>>, <<", "/utf8>>),
[<<"Gleam"/utf8>>, <<"Erlang,Elixir"/utf8>>]
).
replace_test() ->
gleam@should:equal(
gleam@string:replace(
<<"Gleam,Erlang,Elixir"/utf8>>,
<<","/utf8>>,
<<"++"/utf8>>
),
<<"Gleam++Erlang++Elixir"/utf8>>
).
append_test() ->
gleam@should:equal(
gleam@string:append(<<"Test"/utf8>>, <<" Me"/utf8>>),
<<"Test Me"/utf8>>
).
compare_test() ->
gleam@should:equal(gleam@string:compare(<<""/utf8>>, <<""/utf8>>), eq),
gleam@should:equal(gleam@string:compare(<<"a"/utf8>>, <<""/utf8>>), gt),
gleam@should:equal(gleam@string:compare(<<"a"/utf8>>, <<"A"/utf8>>), gt),
gleam@should:equal(gleam@string:compare(<<"A"/utf8>>, <<"B"/utf8>>), lt),
gleam@should:equal(gleam@string:compare(<<"t"/utf8>>, <<"ABC"/utf8>>), gt).
contains_test() ->
gleam@should:equal(
gleam@string:contains(<<"gleam"/utf8>>, <<"ea"/utf8>>),
true
),
gleam@should:equal(
gleam@string:contains(<<"gleam"/utf8>>, <<"x"/utf8>>),
false
),
gleam@should:equal(
gleam@string:contains(<<"bellwether"/utf8>>, <<"bell"/utf8>>),
true
).
concat_test() ->
gleam@should:equal(
gleam@string:concat(
[<<"Hello"/utf8>>, <<", "/utf8>>, <<"world!"/utf8>>]
),
<<"Hello, world!"/utf8>>
).
repeat_test() ->
gleam@should:equal(
gleam@string:repeat(<<"hi"/utf8>>, 3),
<<"hihihi"/utf8>>
),
gleam@should:equal(gleam@string:repeat(<<"hi"/utf8>>, 0), <<""/utf8>>),
gleam@should:equal(gleam@string:repeat(<<"hi"/utf8>>, -1), <<""/utf8>>).
join_test() ->
gleam@should:equal(
gleam@string:join([<<"Hello"/utf8>>, <<"world!"/utf8>>], <<", "/utf8>>),
<<"Hello, world!"/utf8>>
),
gleam@should:equal(
gleam@string:join([<<"Hello"/utf8>>, <<"world!"/utf8>>], <<"-"/utf8>>),
<<"Hello-world!"/utf8>>
).
trim_test() ->
gleam@should:equal(
gleam@string:trim(<<" hats \n"/utf8>>),
<<"hats"/utf8>>
).
|