aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorMichael Jones <m.pricejones@gmail.com>2024-06-24 17:40:53 +0100
committerLouis Pilfold <louis@lpil.uk>2024-07-17 14:17:16 +0100
commit1dddd86cc65879b4d0195e934a1b106252a9cfe2 (patch)
tree41c88aad958663c7aa84f0c89b6cdf2514cfe725 /test
parent30304cce6677f686968cb0934854dceca8ed535e (diff)
downloadgleam_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.gleam32
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)