diff options
author | Michael Jones <m.pricejones@gmail.com> | 2024-06-24 17:40:53 +0100 |
---|---|---|
committer | Louis Pilfold <louis@lpil.uk> | 2024-07-17 14:17:16 +0100 |
commit | 1dddd86cc65879b4d0195e934a1b106252a9cfe2 (patch) | |
tree | 41c88aad958663c7aa84f0c89b6cdf2514cfe725 /test | |
parent | 30304cce6677f686968cb0934854dceca8ed535e (diff) | |
download | gleam_stdlib-1dddd86cc65879b4d0195e934a1b106252a9cfe2.tar.gz gleam_stdlib-1dddd86cc65879b4d0195e934a1b106252a9cfe2.zip |
Add per-target tests for optional field error
As the error is different in each case. There might be a preferred
way of handling this.
Diffstat (limited to 'test')
-rw-r--r-- | test/gleam/dynamic_test.gleam | 32 |
1 files changed, 24 insertions, 8 deletions
diff --git a/test/gleam/dynamic_test.gleam b/test/gleam/dynamic_test.gleam index 42018e9..fd51212 100644 --- a/test/gleam/dynamic_test.gleam +++ b/test/gleam/dynamic_test.gleam @@ -405,14 +405,6 @@ pub fn optional_field_test() { ) dict.new() - |> dict.insert("ok", None) - |> dynamic.from - |> dynamic.optional_field("ok", dynamic.int) - |> should.equal( - Error([DecodeError(expected: "Int", found: "Atom", path: ["ok"])]), - ) - - dict.new() |> dict.insert("ok", Nil) |> dynamic.from |> dynamic.optional_field("ok", dynamic.int) @@ -453,6 +445,30 @@ pub fn optional_field_test() { ) } +// Error is different for erlang & javascript +@target(javascript) +pub fn optional_field_error_test() { + dict.new() + |> dict.insert("ok", None) + |> dynamic.from + |> dynamic.optional_field("ok", dynamic.int) + |> should.equal( + Error([DecodeError(expected: "Int", found: "Object", path: ["ok"])]), + ) +} + +// Error is different for erlang & javascript +@target(erlang) +pub fn optional_field_error_test() { + dict.new() + |> dict.insert("ok", None) + |> dynamic.from + |> dynamic.optional_field("ok", dynamic.int) + |> should.equal( + Error([DecodeError(expected: "Int", found: "Atom", path: ["ok"])]), + ) +} + pub fn element_test() { let ok_one_tuple = #("ok", 1) |