diff options
author | Louis Pilfold <louis@lpil.uk> | 2021-09-05 21:00:59 +0100 |
---|---|---|
committer | Louis Pilfold <louis@lpil.uk> | 2021-09-05 21:00:59 +0100 |
commit | d6b4780c9f215c197bc119f775cd1a7ee2362dc7 (patch) | |
tree | c823d8858ddd2e636345318d39353fc749372264 /test | |
parent | 3f15b04f04280dcc1db2ffc684fc98a4a09f5184 (diff) | |
download | gleam_stdlib-d6b4780c9f215c197bc119f775cd1a7ee2362dc7.tar.gz gleam_stdlib-d6b4780c9f215c197bc119f775cd1a7ee2362dc7.zip |
Remove should module
Diffstat (limited to 'test')
-rw-r--r-- | test/gleam/should.gleam | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/test/gleam/should.gleam b/test/gleam/should.gleam new file mode 100644 index 0000000..044190f --- /dev/null +++ b/test/gleam/should.gleam @@ -0,0 +1,85 @@ +//// A module for testing your Gleam code. The functions found here are +//// compatible with the Erlang eunit test framework. +//// +//// More information on running eunit can be found in [the rebar3 +//// documentation](https://rebar3.org/docs/testing/eunit/). + +if erlang { + // TODO: Move this module into another package so it can be used as a + // dep only in test. + pub external fn equal(a, a) -> Nil = + "gleam_stdlib" "should_equal" + + pub external fn not_equal(a, a) -> Nil = + "gleam_stdlib" "should_not_equal" + + pub external fn be_ok(Result(a, b)) -> Nil = + "gleam_stdlib" "should_be_ok" + + pub external fn be_error(Result(a, b)) -> Nil = + "gleam_stdlib" "should_be_error" +} + +if javascript { + import gleam/string + + external fn stringify(anything) -> String = + "../gleam.js" "inspect" + + external fn crash(String) -> anything = + "../gleam_stdlib.js" "crash" + + pub fn equal(a, b) { + case a == b { + True -> Nil + _ -> + crash(string.concat([ + "\n\t", + stringify(a), + "\n\tshould equal \n\t", + stringify(b), + ])) + } + } + + pub fn not_equal(a, b) { + case a != b { + True -> Nil + _ -> + crash(string.concat([ + "\n", + stringify(a), + "\nshould not equal \n", + stringify(b), + ])) + } + } + + pub fn be_ok(a) { + case a { + Ok(_) -> Nil + _ -> crash(string.concat(["\n", stringify(a), "\nshould be ok"])) + } + } + + pub fn be_error(a) { + case a { + Error(_) -> Nil + _ -> crash(string.concat(["\n", stringify(a), "\nshould be error"])) + } + } +} + +pub fn be_true(actual: Bool) -> Nil { + actual + |> equal(True) +} + +pub fn be_false(actual: Bool) -> Nil { + actual + |> equal(False) +} + +pub fn fail() -> Nil { + be_true(False) +} |