mirror of https://github.com/status-im/NimYAML.git
Added JSON construction tests
This commit is contained in:
parent
b7828884bd
commit
42df37bbbe
|
@ -0,0 +1,46 @@
|
|||
import "../yaml"
|
||||
|
||||
import unittest, json
|
||||
|
||||
proc wc(line, column: int, lineContent: string, message: string) =
|
||||
echo "Warning (", line, ",", column, "): ", message, "\n", lineContent
|
||||
|
||||
proc ensureEqual(yamlIn, jsonIn: string) =
|
||||
var
|
||||
parser = newYamlParser(initCoreTagLibrary(), wc)
|
||||
yamlResult = constructJson(parser.parse(newStringStream(yamlIn)))
|
||||
jsonResult = parseJson(jsonIn)
|
||||
assert yamlResult.len == 1
|
||||
assert(jsonResult == yamlResult[0])
|
||||
|
||||
suite "Constructing JSON":
|
||||
test "Constructing JSON: Simple Sequence":
|
||||
ensureEqual("- 1\n- 2\n- 3", "[1, 2, 3]")
|
||||
|
||||
test "Constructing JSON: Simple Map":
|
||||
ensureEqual("a: b\nc: d", """{"a": "b", "c": "d"}""")
|
||||
|
||||
test "Constructing JSON: Complex Structure":
|
||||
ensureEqual("""
|
||||
%YAML 1.2
|
||||
---
|
||||
Foo:
|
||||
- - a
|
||||
- b
|
||||
- c
|
||||
- bla: blubb
|
||||
Numbers, bools, special values:
|
||||
- 1
|
||||
- true
|
||||
- ~
|
||||
- 42.23
|
||||
- no
|
||||
""", """{
|
||||
"Foo": [
|
||||
[ "a", "b", "c"],
|
||||
{ "bla": "blubb"}
|
||||
],
|
||||
"Numbers, bools, special values": [
|
||||
1, true, null, 42.23, false
|
||||
]
|
||||
}""")
|
Loading…
Reference in New Issue