aboutsummaryrefslogtreecommitdiff
path: root/gen
diff options
context:
space:
mode:
Diffstat (limited to 'gen')
-rw-r--r--gen/src/gleam@string.erl5
-rw-r--r--gen/test/gleam@string_test.erl8
2 files changed, 11 insertions, 2 deletions
diff --git a/gen/src/gleam@string.erl b/gen/src/gleam@string.erl
index 722ea09..c94fb9f 100644
--- a/gen/src/gleam@string.erl
+++ b/gen/src/gleam@string.erl
@@ -1,7 +1,7 @@
-module(gleam@string).
-compile(no_auto_import).
--export([length/1, lowercase/1, uppercase/1, compare/2, reverse/1, split/2, replace/3, append/2]).
+-export([length/1, lowercase/1, uppercase/1, compare/2, reverse/1, split/2, replace/3, append/2, concat/1]).
length(A) ->
string:length(A).
@@ -33,3 +33,6 @@ append(First, Second) ->
gleam@iodata:to_string(
gleam@iodata:append(gleam@iodata:new(First), Second)
).
+
+concat(Strings) ->
+ gleam@iodata:to_string(gleam@iodata:from_strings(Strings)).
diff --git a/gen/test/gleam@string_test.erl b/gen/test/gleam@string_test.erl
index e28f696..777c498 100644
--- a/gen/test/gleam@string_test.erl
+++ b/gen/test/gleam@string_test.erl
@@ -1,7 +1,7 @@
-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]).
+-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, concat_test/0]).
length_test() ->
gleam@expect:equal(gleam@string:length(<<"ß↑e̊">>), 3),
@@ -45,3 +45,9 @@ compare_test() ->
gleam@expect:equal(gleam@string:compare(<<"a">>, <<"A">>), gt),
gleam@expect:equal(gleam@string:compare(<<"A">>, <<"B">>), lt),
gleam@expect:equal(gleam@string:compare(<<"t">>, <<"ABC">>), gt).
+
+concat_test() ->
+ gleam@expect:equal(
+ gleam@string:concat([<<"Hello">>, <<", ">>, <<"world!">>]),
+ <<"Hello, world!">>
+ ).