@@ -97,8 +97,8 @@ func TestJsonScannerValidInputs(t *testing.T) {
97
97
},
98
98
{
99
99
desc : "valid string--escaped characters" ,
100
- input : `"\"\\\'\ /\b\f\n\r\t"` ,
101
- tokens : []jsonToken {{t : jttString , v : "\" \\ ' /\b \f \n \r \t " }},
100
+ input : `"\"\\\/\b\f\n\r\t"` ,
101
+ tokens : []jsonToken {{t : jttString , v : "\" \\ /\b \f \n \r \t " }},
102
102
},
103
103
{
104
104
desc : "valid literal--true" , input : "true" ,
@@ -275,32 +275,34 @@ func TestJsonScannerValidInputs(t *testing.T) {
275
275
}
276
276
277
277
for _ , tc := range cases {
278
- js := & jsonScanner {r : strings .NewReader (tc .input )}
278
+ t .Run (tc .desc , func (t * testing.T ) {
279
+ js := & jsonScanner {r : strings .NewReader (tc .input )}
279
280
280
- for _ , token := range tc .tokens {
281
- c , err := js .nextToken ()
282
- jttDiff (t , token .t , c .t , tc .desc )
283
- jtvDiff (t , token .v , c .v , tc .desc )
284
- expectNoError (t , err , tc .desc )
285
- }
281
+ for _ , token := range tc .tokens {
282
+ c , err := js .nextToken ()
283
+ jttDiff (t , token .t , c .t , tc .desc )
284
+ jtvDiff (t , token .v , c .v , tc .desc )
285
+ expectNoError (t , err , tc .desc )
286
+ }
286
287
287
- c , err := js .nextToken ()
288
- jttDiff (t , jttEOF , c .t , tc .desc )
289
- noerr (t , err )
288
+ c , err := js .nextToken ()
289
+ jttDiff (t , jttEOF , c .t , tc .desc )
290
+ noerr (t , err )
290
291
291
- // testing early EOF reading
292
- js = & jsonScanner {r : iotest .DataErrReader (strings .NewReader (tc .input ))}
292
+ // testing early EOF reading
293
+ js = & jsonScanner {r : iotest .DataErrReader (strings .NewReader (tc .input ))}
293
294
294
- for _ , token := range tc .tokens {
295
- c , err := js .nextToken ()
296
- jttDiff (t , token .t , c .t , tc .desc )
297
- jtvDiff (t , token .v , c .v , tc .desc )
298
- expectNoError (t , err , tc .desc )
299
- }
295
+ for _ , token := range tc .tokens {
296
+ c , err := js .nextToken ()
297
+ jttDiff (t , token .t , c .t , tc .desc )
298
+ jtvDiff (t , token .v , c .v , tc .desc )
299
+ expectNoError (t , err , tc .desc )
300
+ }
300
301
301
- c , err = js .nextToken ()
302
- jttDiff (t , jttEOF , c .t , tc .desc )
303
- noerr (t , err )
302
+ c , err = js .nextToken ()
303
+ jttDiff (t , jttEOF , c .t , tc .desc )
304
+ noerr (t , err )
305
+ })
304
306
}
305
307
}
306
308
@@ -309,6 +311,7 @@ func TestJsonScannerInvalidInputs(t *testing.T) {
309
311
{desc : "missing quotation" , input : `"missing` },
310
312
{desc : "invalid escape character--first character" , input : `"\invalid"` },
311
313
{desc : "invalid escape character--middle" , input : `"i\nv\alid"` },
314
+ {desc : "invalid escape character--single quote" , input : `"f\'oo"` },
312
315
{desc : "invalid literal--trueee" , input : "trueee" },
313
316
{desc : "invalid literal--tire" , input : "tire" },
314
317
{desc : "invalid literal--nulll" , input : "nulll" },
@@ -337,10 +340,12 @@ func TestJsonScannerInvalidInputs(t *testing.T) {
337
340
}
338
341
339
342
for _ , tc := range cases {
340
- js := & jsonScanner {r : strings .NewReader (tc .input )}
343
+ t .Run (tc .desc , func (t * testing.T ) {
344
+ js := & jsonScanner {r : strings .NewReader (tc .input )}
341
345
342
- c , err := js .nextToken ()
343
- expectNilToken (t , c , tc .desc )
344
- expectError (t , err , tc .desc )
346
+ c , err := js .nextToken ()
347
+ expectNilToken (t , c , tc .desc )
348
+ expectError (t , err , tc .desc )
349
+ })
345
350
}
346
351
}
0 commit comments