@@ -201,9 +201,9 @@ block:
201
201
202
202
block :
203
203
# Test discriminator field name not being there.
204
- doAssertRaises JsonError :
205
- let
206
- a = """ {"active":true,"floatVal":3.14} """ . fromJson ( RefNode )
204
+ let
205
+ a = """ {"active":true,"intVal":42} """ . fromJson ( RefNode )
206
+ doAssert a.kind == nkInt
207
207
208
208
block :
209
209
var nodeNum = ValueNode (kind: nkFloat, active: true , floatVal: 3.14 )
@@ -225,9 +225,9 @@ block:
225
225
226
226
block :
227
227
# Test discriminator field name not being there.
228
- doAssertRaises JsonError :
229
- let
230
- a = """ {"active":true,"floatVal":3.14} """ . fromJson ( ValueNode )
228
+ let
229
+ a = """ {"active":true,"intVal":42} """ . fromJson ( ValueNode )
230
+ doAssert a.kind == nkInt
231
231
232
232
type
233
233
NodeNumKind = enum # the different node types
@@ -249,24 +249,28 @@ proc renameHook*(v: var RefNode|ValueNode, fieldName: var string) =
249
249
if fieldName == " type" :
250
250
fieldName = " kind"
251
251
252
- # Test renameHook and discriminator Field Name not being first.
252
+ # Test renameHook and discriminator Field Name not being first/missing .
253
253
block :
254
254
let
255
255
a = """ {"active":true,"type":"nkFloat","floatVal":3.14} """ .fromJson (RefNode )
256
256
b = """ {"floatVal":3.14,"active":true,"type":"nkFloat"} """ .fromJson (RefNode )
257
257
c = """ {"type":"nkFloat","floatVal":3.14,"active":true} """ .fromJson (RefNode )
258
+ d = """ {"active":true,"intVal":42} """ .fromJson (RefNode )
258
259
doAssert a.kind == nkFloat
259
260
doAssert b.kind == nkFloat
260
261
doAssert c.kind == nkFloat
262
+ doAssert d.kind == nkInt
261
263
262
264
block :
263
265
let
264
266
a = """ {"active":true,"type":"nkFloat","floatVal":3.14} """ .fromJson (ValueNode )
265
267
b = """ {"floatVal":3.14,"active":true,"type":"nkFloat"} """ .fromJson (ValueNode )
266
268
c = """ {"type":"nkFloat","floatVal":3.14,"active":true} """ .fromJson (ValueNode )
269
+ d = """ {"active":true,"intVal":42} """ .fromJson (ValueNode )
267
270
doAssert a.kind == nkFloat
268
271
doAssert b.kind == nkFloat
269
272
doAssert c.kind == nkFloat
273
+ doAssert d.kind == nkInt
270
274
271
275
272
276
# test https://forum.nim-lang.org/t/7619
0 commit comments