aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorLouis Pilfold <louis@lpil.uk>2021-09-09 21:25:11 +0100
committerLouis Pilfold <louis@lpil.uk>2021-09-09 21:25:11 +0100
commitbb88a32d105da31e5cdd2ad713016c88b96ac0ce (patch)
tree5f233af161c86fcc3813bee4d006fe35125f5bdd /test
parent70136ec67863b0c97b9845edc13c6841eee033fc (diff)
downloadgleam_stdlib-bb88a32d105da31e5cdd2ad713016c88b96ac0ce.tar.gz
gleam_stdlib-bb88a32d105da31e5cdd2ad713016c88b96ac0ce.zip
JS dynamic element
Diffstat (limited to 'test')
-rw-r--r--test/gleam/dynamic_test.gleam82
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