diff options
author | Louis Pilfold <louis@lpil.uk> | 2021-09-09 21:25:11 +0100 |
---|---|---|
committer | Louis Pilfold <louis@lpil.uk> | 2021-09-09 21:25:11 +0100 |
commit | bb88a32d105da31e5cdd2ad713016c88b96ac0ce (patch) | |
tree | 5f233af161c86fcc3813bee4d006fe35125f5bdd /test | |
parent | 70136ec67863b0c97b9845edc13c6841eee033fc (diff) | |
download | gleam_stdlib-bb88a32d105da31e5cdd2ad713016c88b96ac0ce.tar.gz gleam_stdlib-bb88a32d105da31e5cdd2ad713016c88b96ac0ce.zip |
JS dynamic element
Diffstat (limited to 'test')
-rw-r--r-- | test/gleam/dynamic_test.gleam | 82 |
1 files changed, 48 insertions, 34 deletions
diff --git a/test/gleam/dynamic_test.gleam b/test/gleam/dynamic_test.gleam index c65f98c..4ab3d65 100644 --- a/test/gleam/dynamic_test.gleam +++ b/test/gleam/dynamic_test.gleam @@ -1,11 +1,11 @@ import gleam/should import gleam/dynamic.{DecodeError} import gleam/bit_string +import gleam/map if erlang { import gleam/list import gleam/result - import gleam/map import gleam/option.{None, Some} } @@ -86,11 +86,6 @@ pub fn int_test() { |> dynamic.from |> dynamic.int |> should.equal(Error(DecodeError(expected: "Int", found: "List"))) - - <<1>> - |> dynamic.from - |> dynamic.int - |> should.equal(Error(DecodeError(expected: "Int", found: "BitString"))) } pub fn float_test() { @@ -259,42 +254,61 @@ if erlang { |> dynamic.field([]) |> should.be_error } +} - pub fn element_test() { - let ok_one_tuple = #("ok", 1) +pub fn element_test() { + let ok_one_tuple = #("ok", 1) - ok_one_tuple - |> dynamic.from - |> dynamic.element(0) - |> should.equal(Ok(dynamic.from("ok"))) + ok_one_tuple + |> dynamic.from + |> dynamic.element(0) + |> should.equal(Ok(dynamic.from("ok"))) - ok_one_tuple - |> dynamic.from - |> dynamic.element(1) - |> should.equal(Ok(dynamic.from(1))) + ok_one_tuple + |> dynamic.from + |> dynamic.element(1) + |> should.equal(Ok(dynamic.from(1))) - ok_one_tuple - |> dynamic.from - |> dynamic.element(2) - |> should.be_error + ok_one_tuple + |> dynamic.from + |> dynamic.element(2) + |> should.equal(Error(DecodeError( + expected: "Tuple of at least 3 elements", + found: "Tuple of 2 elements", + ))) - ok_one_tuple - |> dynamic.from - |> dynamic.element(-1) - |> should.be_error + ok_one_tuple + |> dynamic.from + |> dynamic.element(-1) + |> should.equal(Ok(dynamic.from(1))) - 1 - |> dynamic.from - |> dynamic.element(0) - |> should.be_error + ok_one_tuple + |> dynamic.from + |> dynamic.element(-3) + |> should.equal(Error(DecodeError( + expected: "Tuple of at least 3 elements", + found: "Tuple of 2 elements", + ))) - map.new() - |> map.insert(1, "ok") - |> dynamic.from - |> dynamic.element(0) - |> should.be_error - } + 1 + |> dynamic.from + |> dynamic.element(0) + |> should.equal(Error(DecodeError( + expected: "Tuple of at least 1 element", + found: "Int", + ))) + + map.new() + |> map.insert(1, "ok") + |> dynamic.from + |> dynamic.element(0) + |> should.equal(Error(DecodeError( + expected: "Tuple of at least 1 element", + found: "Map", + ))) +} +if erlang { pub fn tuple2_test() { #(1, 2) |> dynamic.from |