diff options
Diffstat (limited to 'test/gleam/base_test.gleam')
-rw-r--r-- | test/gleam/base_test.gleam | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/test/gleam/base_test.gleam b/test/gleam/base_test.gleam new file mode 100644 index 0000000..90fdb2a --- /dev/null +++ b/test/gleam/base_test.gleam @@ -0,0 +1,52 @@ +import gleam/base +import gleam/bit_string.{BitString} +import gleam/io +import gleam/list +import gleam/should + +external fn list_to_binary(List(Int)) -> BitString = + "erlang" "list_to_binary" + +pub fn encode64_test() { + [255, 127, 254, 252] + |> list_to_binary() + |> base.encode64(True) + |> should.equal("/3/+/A==") + + [255, 127, 254, 252] + |> list_to_binary() + |> base.encode64(False) + |> should.equal("/3/+/A") + + [0, 0, 0] + |> list_to_binary() + |> base.encode64(True) + |> should.equal("AAAA") + + [] + |> list_to_binary() + |> base.encode64(True) + |> should.equal("") +} + +pub fn decode64_test() { + "/3/+/A==" + |> base.decode64() + |> should.equal(Ok(list_to_binary([255, 127, 254, 252]))) + + "/3/+/A" + |> base.decode64() + |> should.equal(Ok(list_to_binary([255, 127, 254, 252]))) + + "AAAA" + |> base.decode64() + |> should.equal(Ok(list_to_binary([0, 0, 0]))) + + "" + |> base.decode64() + |> should.equal(Ok(list_to_binary([]))) + + ")!" + |> base.decode64() + |> should.equal(Error(Nil)) +} |