aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/gleam/dynamic_test.gleam18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/gleam/dynamic_test.gleam b/test/gleam/dynamic_test.gleam
index 2b272d4..f4e78a0 100644
--- a/test/gleam/dynamic_test.gleam
+++ b/test/gleam/dynamic_test.gleam
@@ -5,6 +5,7 @@ import gleam/list
import gleam/should
import gleam/result
import gleam/map
+import gleam/option.{None, Some}
pub fn bit_string_test() {
""
@@ -220,6 +221,23 @@ pub fn typed_list_test() {
|> should.be_error
}
+pub fn option_test() {
+ let Ok(null) = atom.from_string("null")
+
+ 1
+ |> dynamic.from
+ |> dynamic.option(dynamic.int)
+ |> should.equal(Ok(Some(1)))
+ null
+ |> dynamic.from
+ |> dynamic.option(dynamic.int)
+ |> should.equal(Ok(None))
+ 1
+ |> dynamic.from
+ |> dynamic.option(dynamic.string)
+ |> should.be_error
+}
+
pub fn field_test() {
let Ok(ok_atom) = atom.from_string("ok")
let Ok(error_atom) = atom.from_string("error")