aboutsummaryrefslogtreecommitdiff
path: root/gen
diff options
context:
space:
mode:
authorLouis Pilfold <louis@lpil.uk>2019-03-17 14:34:07 +0000
committerLouis Pilfold <louis@lpil.uk>2019-03-17 14:34:07 +0000
commit00ff9767dc61e698aac791b43704cfce1ab33600 (patch)
tree257392f879a3524b04043e5385ca1ba871aa6908 /gen
parentde6dca34edf5ab52bc7eab02745c59d8c0dd777d (diff)
downloadgleam_stdlib-00ff9767dc61e698aac791b43704cfce1ab33600.tar.gz
gleam_stdlib-00ff9767dc61e698aac791b43704cfce1ab33600.zip
stdlib atom
Diffstat (limited to 'gen')
-rw-r--r--gen/atom.erl38
-rw-r--r--gen/expect.erl8
-rw-r--r--gen/list.erl6
3 files changed, 48 insertions, 4 deletions
diff --git a/gen/atom.erl b/gen/atom.erl
new file mode 100644
index 0000000..70c899b
--- /dev/null
+++ b/gen/atom.erl
@@ -0,0 +1,38 @@
+-module(atom).
+-compile(no_auto_import).
+-include_lib("eunit/include/eunit.hrl").
+
+-export([from_string/1, create_from_string/1, to_string/1]).
+
+from_string(A) ->
+ gleam__stdlib:atom_from_string(A).
+
+-ifdef(TEST).
+from_string_test() ->
+ expect:is_ok(from_string(<<"ok">>)),
+ expect:is_ok(from_string(<<"expect">>)),
+ expect:equal(from_string(<<"this is not an atom we have seen before">>),
+ {error, atom_not_loaded}).
+-endif.
+
+create_from_string(A) ->
+ gleam__stdlib:atom_create_from_string(A).
+
+-ifdef(TEST).
+create_from_string_test() ->
+ Ok = fun(X) -> {ok, X} end,
+ expect:equal(Ok(create_from_string(<<"ok">>)), from_string(<<"ok">>)),
+ expect:equal(Ok(create_from_string(<<"expect">>)),
+ from_string(<<"expect">>)),
+ expect:equal(Ok(create_from_string(<<"this is another atom we have not seen before">>)),
+ from_string(<<"this is another atom we have not seen before">>)).
+-endif.
+
+to_string(A) ->
+ gleam__stdlib:atom_to_string(A).
+
+-ifdef(TEST).
+to_string_test() ->
+ expect:equal(to_string(create_from_string(<<"ok">>)), <<"ok">>),
+ expect:equal(to_string(create_from_string(<<"expect">>)), <<"expect">>).
+-endif.
diff --git a/gen/expect.erl b/gen/expect.erl
index 4d42f10..602f3fb 100644
--- a/gen/expect.erl
+++ b/gen/expect.erl
@@ -1,7 +1,7 @@
-module(expect).
-compile(no_auto_import).
--export([equal/2, not_equal/2, true/1, false/1, fail/0]).
+-export([equal/2, not_equal/2, true/1, false/1, is_ok/1, is_error/1, fail/0]).
equal(A, B) ->
gleam__stdlib:expect_equal(A, B).
@@ -15,5 +15,11 @@ true(A) ->
false(A) ->
gleam__stdlib:expect_false(A).
+is_ok(A) ->
+ gleam__stdlib:expect_is_ok(A).
+
+is_error(A) ->
+ gleam__stdlib:expect_is_error(A).
+
fail() ->
true(false).
diff --git a/gen/list.erl b/gen/list.erl
index 5c8e8e6..a5df23e 100644
--- a/gen/list.erl
+++ b/gen/list.erl
@@ -101,8 +101,8 @@ filter(List, Fun) ->
-ifdef(TEST).
filter_test() ->
- expect:equal(filter([], fun(X) -> true end), []),
- expect:equal(filter([0, 4, 5, 7, 3], fun(X) -> true end), [0, 4, 5, 7, 3]),
+ expect:equal(filter([], fun(_) -> true end), []),
+ expect:equal(filter([0, 4, 5, 7, 3], fun(_) -> true end), [0, 4, 5, 7, 3]),
expect:equal(filter([0, 4, 5, 7, 3], fun(X) -> X > 4 end), [5, 7]),
expect:equal(filter([0, 4, 5, 7, 3], fun(X) -> X < 4 end), [0, 3]).
-endif.
@@ -166,7 +166,7 @@ drop(List, N) ->
[] ->
[];
- [X | Xs] ->
+ [_ | Xs] ->
drop(Xs, N - 1)
end
end.