diff options
author | Louis Pilfold <louis@lpil.uk> | 2021-12-31 16:07:45 +0000 |
---|---|---|
committer | Louis Pilfold <louis@lpil.uk> | 2021-12-31 16:07:45 +0000 |
commit | 0d1188631e400c1733ad893cc07bfb050bd9664f (patch) | |
tree | 4bc7ad28945b6d4a6c2a18358724a38db5f161a1 /test/gleam_json_test.gleam | |
parent | e680f6fd0213d133f188064b684c1c56080f831f (diff) | |
download | gleam_json-0d1188631e400c1733ad893cc07bfb050bd9664f.tar.gz gleam_json-0d1188631e400c1733ad893cc07bfb050bd9664f.zip |
Convert to use Gleam build tool
Diffstat (limited to 'test/gleam_json_test.gleam')
-rw-r--r-- | test/gleam_json_test.gleam | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/test/gleam_json_test.gleam b/test/gleam_json_test.gleam new file mode 100644 index 0000000..162fa6e --- /dev/null +++ b/test/gleam_json_test.gleam @@ -0,0 +1,42 @@ +import gleam/dynamic +import gleam/option.{None, Some} +import gleam/result +import gleam/json +import gleeunit/should +import gleeunit + +pub fn main() { + gleeunit.main() +} + +pub fn decode_test() { + json.decode("5") + |> result.map(dynamic.from) + |> should.equal(Ok(dynamic.from(5))) + + json.decode(".") + |> result.nil_error() + |> should.equal(Error(Nil)) +} + +pub fn encode_test() { + json.string("hello") + |> json.encode() + |> should.equal("\"hello\"") + + json.null() + |> json.encode() + |> should.equal("null") + + json.object([#("foo", json.int(5))]) + |> json.encode() + |> should.equal("{\"foo\":5}") + + json.nullable(Some(5), json.int) + |> json.encode() + |> should.equal("5") + + json.nullable(None, json.int) + |> json.encode() + |> should.equal("null") +} |