From cbdd74a5e78a85be8d4d49a93b87e501e5b0aef5 Mon Sep 17 00:00:00 2001 From: sharno Date: Mon, 26 Oct 2020 22:01:48 -0400 Subject: Closes #115: Add dynamic.option --- test/gleam/dynamic_test.gleam | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'test') 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") -- cgit v1.2.3