diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/gleam/dynamic_test.gleam | 34 | ||||
-rwxr-xr-x | test/gleam_stdlib_test_ffi.mjs | 4 |
2 files changed, 38 insertions, 0 deletions
diff --git a/test/gleam/dynamic_test.gleam b/test/gleam/dynamic_test.gleam index ffd8b73..a220e6e 100644 --- a/test/gleam/dynamic_test.gleam +++ b/test/gleam/dynamic_test.gleam @@ -51,6 +51,35 @@ if javascript { } } +if erlang { + pub type MyAtom { + ThisIsAnAtom + } + + pub fn map_from_atom_test() { + ThisIsAnAtom + |> dynamic.from + |> dynamic.map(dynamic.string, dynamic.int) + |> should.equal(Error([ + DecodeError(expected: "Map", found: "Atom", path: []), + ])) + } +} + +if javascript { + external fn get_null() -> dynamic.Dynamic = + "../gleam_stdlib_test_ffi.mjs" "get_null" + + pub fn map_from_null_test() { + get_null() + |> dynamic.from + |> dynamic.map(dynamic.string, dynamic.int) + |> should.equal(Error([ + DecodeError(expected: "Map", found: "Null", path: []), + ])) + } +} + pub fn string_test() { "" |> dynamic.from @@ -758,6 +787,11 @@ pub fn map_test() { |> should.equal(Error([ DecodeError(expected: "Map", found: "Function", path: []), ])) + + Nil + |> dynamic.from + |> dynamic.map(dynamic.string, dynamic.int) + |> should.equal(Error([DecodeError(expected: "Map", found: "Nil", path: [])])) } pub fn shallow_list_test() { diff --git a/test/gleam_stdlib_test_ffi.mjs b/test/gleam_stdlib_test_ffi.mjs index 68922c9..c859093 100755 --- a/test/gleam_stdlib_test_ffi.mjs +++ b/test/gleam_stdlib_test_ffi.mjs @@ -6,3 +6,7 @@ export function uint8array(list) { } return array; } + +export function get_null() { + return null; +} |