From 014cf4a208b254d2172f318147edccc70fc1e49d Mon Sep 17 00:00:00 2001 From: Louis Pilfold Date: Thu, 9 Sep 2021 19:52:22 +0100 Subject: JS dynamic int and float --- test/gleam/dynamic_test.gleam | 75 +++++++++++++++++++++++++++---------------- 1 file changed, 47 insertions(+), 28 deletions(-) (limited to 'test') diff --git a/test/gleam/dynamic_test.gleam b/test/gleam/dynamic_test.gleam index df92ffb..0d8dd09 100644 --- a/test/gleam/dynamic_test.gleam +++ b/test/gleam/dynamic_test.gleam @@ -67,51 +67,70 @@ if erlang { } } +pub fn int_test() { + 1 + |> dynamic.from + |> dynamic.int + |> should.equal(Ok(1)) + + 2 + |> dynamic.from + |> dynamic.int + |> should.equal(Ok(2)) + + [] + |> dynamic.from + |> dynamic.int + |> should.equal(Error(DecodeError(expected: "Int", found: "List"))) +} + +pub fn float_test() { + 1.0 + |> dynamic.from + |> dynamic.float + |> should.equal(Ok(1.0)) + + 2.2 + |> dynamic.from + |> dynamic.float + |> should.equal(Ok(2.2)) + + [] + |> dynamic.from + |> dynamic.float + |> should.equal(Error(DecodeError(expected: "Float", found: "List"))) +} + if erlang { - pub fn int_test() { + pub fn float_on_js_is_also_int_test() { 1 |> dynamic.from - |> dynamic.int - |> should.equal(Ok(1)) - - 2 - |> dynamic.from - |> dynamic.int - |> should.equal(Ok(2)) + |> dynamic.float + |> should.equal(Error(DecodeError(expected: "Float", found: "Int"))) 1.0 |> dynamic.from |> dynamic.int |> should.equal(Error(DecodeError(expected: "Int", found: "Float"))) - - [] - |> dynamic.from - |> dynamic.int - |> should.equal(Error(DecodeError(expected: "Int", found: "List"))) } +} - pub fn float_test() { - 1.0 - |> dynamic.from - |> dynamic.float - |> should.equal(Ok(1.0)) - - 2.2 - |> dynamic.from - |> dynamic.float - |> should.equal(Ok(2.2)) - +if javascript { + pub fn float_on_js_is_also_int_test() { 1 |> dynamic.from |> dynamic.float - |> should.equal(Error(DecodeError(expected: "Float", found: "Int"))) + |> should.equal(Ok(1.0)) - [] + 1.0 |> dynamic.from - |> dynamic.float - |> should.equal(Error(DecodeError(expected: "Float", found: "List"))) + |> dynamic.int + |> should.equal(Ok(1)) } +} +if erlang { + // TODO: remove pub fn thunk_test() { fn() { 1 } |> dynamic.from -- cgit v1.2.3