summary refs log tree commit diff stats
path: root/tests/stdlib
diff options
context:
space:
mode:
authorDominik Picheta <dominikpicheta@gmail.com>2017-04-17 18:43:31 +0200
committerDominik Picheta <dominikpicheta@gmail.com>2017-04-17 18:43:31 +0200
commit793d6efffbee54f2ba00836545f0800b3ab77fd2 (patch)
tree3522cf30655a66cbbc7a8a20fee0ac10a699db81 /tests/stdlib
parentb829092c9ea2a64360c61754ac57af6f05a3af6c (diff)
downloadNim-793d6efffbee54f2ba00836545f0800b3ab77fd2.tar.gz
Fixes `null` handling for object refs in JSON unmarshal macro.
Diffstat (limited to 'tests/stdlib')
-rw-r--r--tests/stdlib/tjsonmacro.nim13
1 files changed, 11 insertions, 2 deletions
diff --git a/tests/stdlib/tjsonmacro.nim b/tests/stdlib/tjsonmacro.nim
index f8ecd4637..65dc62e2f 100644
--- a/tests/stdlib/tjsonmacro.nim
+++ b/tests/stdlib/tjsonmacro.nim
@@ -186,7 +186,7 @@ when isMainModule:
 
   # Test ref type in field.
   block:
-    let jsonNode = parseJson("""
+    var jsonNode = parseJson("""
       {
         "person": {
           "name": "Nimmer",
@@ -208,4 +208,13 @@ when isMainModule:
     var data = to(jsonNode, Data)
     doAssert data.person.name == "Nimmer"
     doAssert data.person.age == 21
-    doAssert data.list == @[1, 2, 3, 4]
\ No newline at end of file
+    doAssert data.list == @[1, 2, 3, 4]
+
+    jsonNode = parseJson("""
+      {
+        "person": null,
+        "list": [1, 2, 3, 4]
+      }
+    """)
+    data = to(jsonNode, Data)
+    doAssert data.person.isNil
\ No newline at end of file