authorgravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2024-05-30 11:47:15 -07:00
committergravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2024-05-30 11:47:15 -07:00
loge67bbc866d0e11997afd991284e61d7b030ecb8d
tree2b7a54efce27a356846b07fbec745a5b6b00081d
parent1b02be0b352c3607057cad5583d856731a54a7cd

add JSONTestSuite test cases

257/284 tests passed; 27 failed

3 files changed, 315 insertions(+), 0 deletions(-)

licenses.txt+1
...@@ -3,3 +3,4 @@ MIT:...@@ -3,3 +3,4 @@ MIT:
3- This3- This
4- git https://github.com/nektro/zig-extras4- git https://github.com/nektro/zig-extras
5- git https://github.com/nektro/zig-tracer5- git https://github.com/nektro/zig-tracer
6- git https://github.com/nst/JSONTestSuite
test.zig+308
...@@ -257,3 +257,311 @@ test {...@@ -257,3 +257,311 @@ test {
257 \\257 \\
258 );258 );
259}259}
260
261const JSONTestSuite_root = ".zigmod/deps/v/git/github.com/nst/JSONTestSuite/commit-984defc2deaa653cb73cd29f4144a720ec9efe7c/test_parsing";
262
263fn expectPass(path: []const u8) !void {
264 const alloc = std.testing.allocator;
265 var file = try std.fs.cwd().openFile(path, .{});
266 defer file.close();
267 var doc = try json.parse(alloc, path, file.reader());
268 defer doc.deinit(alloc);
269}
270
271// zig fmt: off
272test { try expectPass(JSONTestSuite_root ++ "/y_array_arraysWithSpaces.json"); }
273test { try expectPass(JSONTestSuite_root ++ "/y_array_empty.json"); }
274test { try expectPass(JSONTestSuite_root ++ "/y_array_empty-string.json"); }
275test { try expectPass(JSONTestSuite_root ++ "/y_array_ending_with_newline.json"); }
276test { try expectPass(JSONTestSuite_root ++ "/y_array_false.json"); }
277test { try expectPass(JSONTestSuite_root ++ "/y_array_heterogeneous.json"); }
278test { try expectPass(JSONTestSuite_root ++ "/y_array_null.json"); }
279test { try expectPass(JSONTestSuite_root ++ "/y_array_with_1_and_newline.json"); }
280test { try expectPass(JSONTestSuite_root ++ "/y_array_with_leading_space.json"); }
281test { try expectPass(JSONTestSuite_root ++ "/y_array_with_several_null.json"); }
282test { try expectPass(JSONTestSuite_root ++ "/y_array_with_trailing_space.json"); }
283test { try expectPass(JSONTestSuite_root ++ "/y_number_0e+1.json"); }
284test { try expectPass(JSONTestSuite_root ++ "/y_number_0e1.json"); }
285test { try expectPass(JSONTestSuite_root ++ "/y_number_after_space.json"); }
286test { try expectPass(JSONTestSuite_root ++ "/y_number_double_close_to_zero.json"); }
287test { try expectPass(JSONTestSuite_root ++ "/y_number_int_with_exp.json"); }
288test { try expectPass(JSONTestSuite_root ++ "/y_number.json"); }
289test { try expectPass(JSONTestSuite_root ++ "/y_number_minus_zero.json"); }
290test { try expectPass(JSONTestSuite_root ++ "/y_number_negative_int.json"); }
291test { try expectPass(JSONTestSuite_root ++ "/y_number_negative_one.json"); }
292test { try expectPass(JSONTestSuite_root ++ "/y_number_negative_zero.json"); }
293test { try expectPass(JSONTestSuite_root ++ "/y_number_real_capital_e.json"); }
294test { try expectPass(JSONTestSuite_root ++ "/y_number_real_capital_e_neg_exp.json"); }
295test { try expectPass(JSONTestSuite_root ++ "/y_number_real_capital_e_pos_exp.json"); }
296test { try expectPass(JSONTestSuite_root ++ "/y_number_real_exponent.json"); }
297test { try expectPass(JSONTestSuite_root ++ "/y_number_real_fraction_exponent.json"); }
298test { try expectPass(JSONTestSuite_root ++ "/y_number_real_neg_exp.json"); }
299test { try expectPass(JSONTestSuite_root ++ "/y_number_real_pos_exponent.json"); }
300test { try expectPass(JSONTestSuite_root ++ "/y_number_simple_int.json"); }
301test { try expectPass(JSONTestSuite_root ++ "/y_number_simple_real.json"); }
302test { try expectPass(JSONTestSuite_root ++ "/y_object_basic.json"); }
303test { try expectPass(JSONTestSuite_root ++ "/y_object_duplicated_key_and_value.json"); }
304test { try expectPass(JSONTestSuite_root ++ "/y_object_duplicated_key.json"); }
305test { try expectPass(JSONTestSuite_root ++ "/y_object_empty.json"); }
306test { try expectPass(JSONTestSuite_root ++ "/y_object_empty_key.json"); }
307test { try expectPass(JSONTestSuite_root ++ "/y_object_escaped_null_in_key.json"); }
308test { try expectPass(JSONTestSuite_root ++ "/y_object_extreme_numbers.json"); }
309test { try expectPass(JSONTestSuite_root ++ "/y_object.json"); }
310test { try expectPass(JSONTestSuite_root ++ "/y_object_long_strings.json"); }
311test { try expectPass(JSONTestSuite_root ++ "/y_object_simple.json"); }
312test { try expectPass(JSONTestSuite_root ++ "/y_object_string_unicode.json"); }
313test { try expectPass(JSONTestSuite_root ++ "/y_object_with_newlines.json"); }
314test { try expectPass(JSONTestSuite_root ++ "/y_string_1_2_3_bytes_UTF-8_sequences.json"); }
315test { try expectPass(JSONTestSuite_root ++ "/y_string_accepted_surrogate_pair.json"); }
316test { try expectPass(JSONTestSuite_root ++ "/y_string_accepted_surrogate_pairs.json"); }
317test { try expectPass(JSONTestSuite_root ++ "/y_string_allowed_escapes.json"); }
318test { try expectPass(JSONTestSuite_root ++ "/y_string_backslash_and_u_escaped_zero.json"); }
319test { try expectPass(JSONTestSuite_root ++ "/y_string_backslash_doublequotes.json"); }
320test { try expectPass(JSONTestSuite_root ++ "/y_string_comments.json"); }
321test { try expectPass(JSONTestSuite_root ++ "/y_string_double_escape_a.json"); }
322test { try expectPass(JSONTestSuite_root ++ "/y_string_double_escape_n.json"); }
323test { try expectPass(JSONTestSuite_root ++ "/y_string_escaped_control_character.json"); }
324test { try expectPass(JSONTestSuite_root ++ "/y_string_escaped_noncharacter.json"); }
325test { try expectPass(JSONTestSuite_root ++ "/y_string_in_array.json"); }
326test { try expectPass(JSONTestSuite_root ++ "/y_string_in_array_with_leading_space.json"); }
327test { try expectPass(JSONTestSuite_root ++ "/y_string_last_surrogates_1_and_2.json"); }
328test { try expectPass(JSONTestSuite_root ++ "/y_string_nbsp_uescaped.json"); }
329test { try expectPass(JSONTestSuite_root ++ "/y_string_nonCharacterInUTF-8_U+10FFFF.json"); }
330test { try expectPass(JSONTestSuite_root ++ "/y_string_nonCharacterInUTF-8_U+FFFF.json"); }
331test { try expectPass(JSONTestSuite_root ++ "/y_string_null_escape.json"); }
332test { try expectPass(JSONTestSuite_root ++ "/y_string_one-byte-utf-8.json"); }
333test { try expectPass(JSONTestSuite_root ++ "/y_string_pi.json"); }
334test { try expectPass(JSONTestSuite_root ++ "/y_string_reservedCharacterInUTF-8_U+1BFFF.json"); }
335test { try expectPass(JSONTestSuite_root ++ "/y_string_simple_ascii.json"); }
336test { try expectPass(JSONTestSuite_root ++ "/y_string_space.json"); }
337test { try expectPass(JSONTestSuite_root ++ "/y_string_surrogates_U+1D11E_MUSICAL_SYMBOL_G_CLEF.json"); }
338test { try expectPass(JSONTestSuite_root ++ "/y_string_three-byte-utf-8.json"); }
339test { try expectPass(JSONTestSuite_root ++ "/y_string_two-byte-utf-8.json"); }
340test { try expectPass(JSONTestSuite_root ++ "/y_string_u+2028_line_sep.json"); }
341test { try expectPass(JSONTestSuite_root ++ "/y_string_u+2029_par_sep.json"); }
342test { try expectPass(JSONTestSuite_root ++ "/y_string_uescaped_newline.json"); }
343test { try expectPass(JSONTestSuite_root ++ "/y_string_uEscape.json"); }
344test { try expectPass(JSONTestSuite_root ++ "/y_string_unescaped_char_delete.json"); }
345test { try expectPass(JSONTestSuite_root ++ "/y_string_unicode_2.json"); }
346test { try expectPass(JSONTestSuite_root ++ "/y_string_unicodeEscapedBackslash.json"); }
347test { try expectPass(JSONTestSuite_root ++ "/y_string_unicode_escaped_double_quote.json"); }
348test { try expectPass(JSONTestSuite_root ++ "/y_string_unicode.json"); }
349test { try expectPass(JSONTestSuite_root ++ "/y_string_unicode_U+10FFFE_nonchar.json"); }
350test { try expectPass(JSONTestSuite_root ++ "/y_string_unicode_U+1FFFE_nonchar.json"); }
351test { try expectPass(JSONTestSuite_root ++ "/y_string_unicode_U+200B_ZERO_WIDTH_SPACE.json"); }
352test { try expectPass(JSONTestSuite_root ++ "/y_string_unicode_U+2064_invisible_plus.json"); }
353test { try expectPass(JSONTestSuite_root ++ "/y_string_unicode_U+FDD0_nonchar.json"); }
354test { try expectPass(JSONTestSuite_root ++ "/y_string_unicode_U+FFFE_nonchar.json"); }
355test { try expectPass(JSONTestSuite_root ++ "/y_string_utf8.json"); }
356test { try expectPass(JSONTestSuite_root ++ "/y_string_with_del_character.json"); }
357test { try expectPass(JSONTestSuite_root ++ "/y_structure_lonely_false.json"); }
358test { try expectPass(JSONTestSuite_root ++ "/y_structure_lonely_int.json"); }
359test { try expectPass(JSONTestSuite_root ++ "/y_structure_lonely_negative_real.json"); }
360test { try expectPass(JSONTestSuite_root ++ "/y_structure_lonely_null.json"); }
361test { try expectPass(JSONTestSuite_root ++ "/y_structure_lonely_string.json"); }
362test { try expectPass(JSONTestSuite_root ++ "/y_structure_lonely_true.json"); }
363test { try expectPass(JSONTestSuite_root ++ "/y_structure_string_empty.json"); }
364test { try expectPass(JSONTestSuite_root ++ "/y_structure_trailing_newline.json"); }
365test { try expectPass(JSONTestSuite_root ++ "/y_structure_true_in_array.json"); }
366test { try expectPass(JSONTestSuite_root ++ "/y_structure_whitespace_array.json"); }
367// zig fmt: on
368
369fn expectFail(path: []const u8) !void {
370 const alloc = std.testing.allocator;
371 var file = try std.fs.cwd().openFile(path, .{});
372 defer file.close();
373 var doc = json.parse(alloc, path, file.reader()) catch return;
374 defer doc.deinit(alloc);
375 try std.testing.expect(false);
376}
377
378// zig fmt: off
379test { try expectFail(JSONTestSuite_root ++ "/n_array_1_true_without_comma.json"); }
380test { try expectFail(JSONTestSuite_root ++ "/n_array_a_invalid_utf8.json"); }
381test { try expectFail(JSONTestSuite_root ++ "/n_array_colon_instead_of_comma.json"); }
382test { try expectFail(JSONTestSuite_root ++ "/n_array_comma_after_close.json"); }
383test { try expectFail(JSONTestSuite_root ++ "/n_array_comma_and_number.json"); }
384test { try expectFail(JSONTestSuite_root ++ "/n_array_double_comma.json"); }
385test { try expectFail(JSONTestSuite_root ++ "/n_array_double_extra_comma.json"); }
386test { try expectFail(JSONTestSuite_root ++ "/n_array_extra_close.json"); }
387test { try expectFail(JSONTestSuite_root ++ "/n_array_extra_comma.json"); }
388test { try expectFail(JSONTestSuite_root ++ "/n_array_incomplete_invalid_value.json"); }
389test { try expectFail(JSONTestSuite_root ++ "/n_array_incomplete.json"); }
390test { try expectFail(JSONTestSuite_root ++ "/n_array_inner_array_no_comma.json"); }
391test { try expectFail(JSONTestSuite_root ++ "/n_array_invalid_utf8.json"); }
392test { try expectFail(JSONTestSuite_root ++ "/n_array_items_separated_by_semicolon.json"); }
393test { try expectFail(JSONTestSuite_root ++ "/n_array_just_comma.json"); }
394test { try expectFail(JSONTestSuite_root ++ "/n_array_just_minus.json"); }
395test { try expectFail(JSONTestSuite_root ++ "/n_array_missing_value.json"); }
396test { try expectFail(JSONTestSuite_root ++ "/n_array_newlines_unclosed.json"); }
397test { try expectFail(JSONTestSuite_root ++ "/n_array_number_and_comma.json"); }
398test { try expectFail(JSONTestSuite_root ++ "/n_array_number_and_several_commas.json"); }
399test { try expectFail(JSONTestSuite_root ++ "/n_array_spaces_vertical_tab_formfeed.json"); }
400test { try expectFail(JSONTestSuite_root ++ "/n_array_star_inside.json"); }
401test { try expectFail(JSONTestSuite_root ++ "/n_array_unclosed.json"); }
402test { try expectFail(JSONTestSuite_root ++ "/n_array_unclosed_trailing_comma.json"); }
403test { try expectFail(JSONTestSuite_root ++ "/n_array_unclosed_with_new_lines.json"); }
404test { try expectFail(JSONTestSuite_root ++ "/n_array_unclosed_with_object_inside.json"); }
405test { try expectFail(JSONTestSuite_root ++ "/n_incomplete_false.json"); }
406test { try expectFail(JSONTestSuite_root ++ "/n_incomplete_null.json"); }
407test { try expectFail(JSONTestSuite_root ++ "/n_incomplete_true.json"); }
408test { try expectFail(JSONTestSuite_root ++ "/n_multidigit_number_then_00.json"); }
409test { try expectFail(JSONTestSuite_root ++ "/n_number_0.1.2.json"); }
410test { try expectFail(JSONTestSuite_root ++ "/n_number_-01.json"); }
411test { try expectFail(JSONTestSuite_root ++ "/n_number_0.3e+.json"); }
412test { try expectFail(JSONTestSuite_root ++ "/n_number_0.3e.json"); }
413test { try expectFail(JSONTestSuite_root ++ "/n_number_0_capital_E+.json"); }
414test { try expectFail(JSONTestSuite_root ++ "/n_number_0_capital_E.json"); }
415test { try expectFail(JSONTestSuite_root ++ "/n_number_0.e1.json"); }
416test { try expectFail(JSONTestSuite_root ++ "/n_number_0e+.json"); }
417test { try expectFail(JSONTestSuite_root ++ "/n_number_0e.json"); }
418test { try expectFail(JSONTestSuite_root ++ "/n_number_1_000.json"); }
419test { try expectFail(JSONTestSuite_root ++ "/n_number_1.0e+.json"); }
420test { try expectFail(JSONTestSuite_root ++ "/n_number_1.0e-.json"); }
421test { try expectFail(JSONTestSuite_root ++ "/n_number_1.0e.json"); }
422test { try expectFail(JSONTestSuite_root ++ "/n_number_-1.0..json"); }
423test { try expectFail(JSONTestSuite_root ++ "/n_number_1eE2.json"); }
424test { try expectFail(JSONTestSuite_root ++ "/n_number_+1.json"); }
425test { try expectFail(JSONTestSuite_root ++ "/n_number_.-1.json"); }
426test { try expectFail(JSONTestSuite_root ++ "/n_number_2.e+3.json"); }
427test { try expectFail(JSONTestSuite_root ++ "/n_number_2.e-3.json"); }
428test { try expectFail(JSONTestSuite_root ++ "/n_number_2.e3.json"); }
429test { try expectFail(JSONTestSuite_root ++ "/n_number_.2e-3.json"); }
430test { try expectFail(JSONTestSuite_root ++ "/n_number_-2..json"); }
431test { try expectFail(JSONTestSuite_root ++ "/n_number_9.e+.json"); }
432test { try expectFail(JSONTestSuite_root ++ "/n_number_expression.json"); }
433test { try expectFail(JSONTestSuite_root ++ "/n_number_hex_1_digit.json"); }
434test { try expectFail(JSONTestSuite_root ++ "/n_number_hex_2_digits.json"); }
435test { try expectFail(JSONTestSuite_root ++ "/n_number_infinity.json"); }
436test { try expectFail(JSONTestSuite_root ++ "/n_number_+Inf.json"); }
437test { try expectFail(JSONTestSuite_root ++ "/n_number_Inf.json"); }
438test { try expectFail(JSONTestSuite_root ++ "/n_number_invalid+-.json"); }
439test { try expectFail(JSONTestSuite_root ++ "/n_number_invalid-negative-real.json"); }
440test { try expectFail(JSONTestSuite_root ++ "/n_number_invalid-utf-8-in-bigger-int.json"); }
441test { try expectFail(JSONTestSuite_root ++ "/n_number_invalid-utf-8-in-exponent.json"); }
442test { try expectFail(JSONTestSuite_root ++ "/n_number_invalid-utf-8-in-int.json"); }
443test { try expectFail(JSONTestSuite_root ++ "/n_number_ ++ .json"); }
444test { try expectFail(JSONTestSuite_root ++ "/n_number_minus_infinity.json"); }
445test { try expectFail(JSONTestSuite_root ++ "/n_number_minus_sign_with_trailing_garbage.json"); }
446test { try expectFail(JSONTestSuite_root ++ "/n_number_minus_space_1.json"); }
447test { try expectFail(JSONTestSuite_root ++ "/n_number_-NaN.json"); }
448test { try expectFail(JSONTestSuite_root ++ "/n_number_NaN.json"); }
449test { try expectFail(JSONTestSuite_root ++ "/n_number_neg_int_starting_with_zero.json"); }
450test { try expectFail(JSONTestSuite_root ++ "/n_number_neg_real_without_int_part.json"); }
451test { try expectFail(JSONTestSuite_root ++ "/n_number_neg_with_garbage_at_end.json"); }
452test { try expectFail(JSONTestSuite_root ++ "/n_number_real_garbage_after_e.json"); }
453test { try expectFail(JSONTestSuite_root ++ "/n_number_real_with_invalid_utf8_after_e.json"); }
454test { try expectFail(JSONTestSuite_root ++ "/n_number_real_without_fractional_part.json"); }
455test { try expectFail(JSONTestSuite_root ++ "/n_number_starting_with_dot.json"); }
456test { try expectFail(JSONTestSuite_root ++ "/n_number_U+FF11_fullwidth_digit_one.json"); }
457test { try expectFail(JSONTestSuite_root ++ "/n_number_with_alpha_char.json"); }
458test { try expectFail(JSONTestSuite_root ++ "/n_number_with_alpha.json"); }
459test { try expectFail(JSONTestSuite_root ++ "/n_number_with_leading_zero.json"); }
460test { try expectFail(JSONTestSuite_root ++ "/n_object_bad_value.json"); }
461test { try expectFail(JSONTestSuite_root ++ "/n_object_bracket_key.json"); }
462test { try expectFail(JSONTestSuite_root ++ "/n_object_comma_instead_of_colon.json"); }
463test { try expectFail(JSONTestSuite_root ++ "/n_object_double_colon.json"); }
464test { try expectFail(JSONTestSuite_root ++ "/n_object_emoji.json"); }
465test { try expectFail(JSONTestSuite_root ++ "/n_object_garbage_at_end.json"); }
466test { try expectFail(JSONTestSuite_root ++ "/n_object_key_with_single_quotes.json"); }
467test { try expectFail(JSONTestSuite_root ++ "/n_object_lone_continuation_byte_in_key_and_trailing_comma.json"); }
468test { try expectFail(JSONTestSuite_root ++ "/n_object_missing_colon.json"); }
469test { try expectFail(JSONTestSuite_root ++ "/n_object_missing_key.json"); }
470test { try expectFail(JSONTestSuite_root ++ "/n_object_missing_semicolon.json"); }
471test { try expectFail(JSONTestSuite_root ++ "/n_object_missing_value.json"); }
472test { try expectFail(JSONTestSuite_root ++ "/n_object_no-colon.json"); }
473test { try expectFail(JSONTestSuite_root ++ "/n_object_non_string_key_but_huge_number_instead.json"); }
474test { try expectFail(JSONTestSuite_root ++ "/n_object_non_string_key.json"); }
475test { try expectFail(JSONTestSuite_root ++ "/n_object_repeated_null_null.json"); }
476test { try expectFail(JSONTestSuite_root ++ "/n_object_several_trailing_commas.json"); }
477test { try expectFail(JSONTestSuite_root ++ "/n_object_single_quote.json"); }
478test { try expectFail(JSONTestSuite_root ++ "/n_object_trailing_comma.json"); }
479test { try expectFail(JSONTestSuite_root ++ "/n_object_trailing_comment.json"); }
480test { try expectFail(JSONTestSuite_root ++ "/n_object_trailing_comment_open.json"); }
481test { try expectFail(JSONTestSuite_root ++ "/n_object_trailing_comment_slash_open_incomplete.json"); }
482test { try expectFail(JSONTestSuite_root ++ "/n_object_trailing_comment_slash_open.json"); }
483test { try expectFail(JSONTestSuite_root ++ "/n_object_two_commas_in_a_row.json"); }
484test { try expectFail(JSONTestSuite_root ++ "/n_object_unquoted_key.json"); }
485test { try expectFail(JSONTestSuite_root ++ "/n_object_unterminated-value.json"); }
486test { try expectFail(JSONTestSuite_root ++ "/n_object_with_single_string.json"); }
487test { try expectFail(JSONTestSuite_root ++ "/n_object_with_trailing_garbage.json"); }
488test { try expectFail(JSONTestSuite_root ++ "/n_single_space.json"); }
489test { try expectFail(JSONTestSuite_root ++ "/n_string_1_surrogate_then_escape.json"); }
490test { try expectFail(JSONTestSuite_root ++ "/n_string_1_surrogate_then_escape_u1.json"); }
491test { try expectFail(JSONTestSuite_root ++ "/n_string_1_surrogate_then_escape_u1x.json"); }
492test { try expectFail(JSONTestSuite_root ++ "/n_string_1_surrogate_then_escape_u.json"); }
493test { try expectFail(JSONTestSuite_root ++ "/n_string_accentuated_char_no_quotes.json"); }
494test { try expectFail(JSONTestSuite_root ++ "/n_string_backslash_00.json"); }
495test { try expectFail(JSONTestSuite_root ++ "/n_string_escaped_backslash_bad.json"); }
496test { try expectFail(JSONTestSuite_root ++ "/n_string_escaped_ctrl_char_tab.json"); }
497test { try expectFail(JSONTestSuite_root ++ "/n_string_escaped_emoji.json"); }
498test { try expectFail(JSONTestSuite_root ++ "/n_string_escape_x.json"); }
499test { try expectFail(JSONTestSuite_root ++ "/n_string_incomplete_escaped_character.json"); }
500test { try expectFail(JSONTestSuite_root ++ "/n_string_incomplete_escape.json"); }
501test { try expectFail(JSONTestSuite_root ++ "/n_string_incomplete_surrogate_escape_invalid.json"); }
502test { try expectFail(JSONTestSuite_root ++ "/n_string_incomplete_surrogate.json"); }
503test { try expectFail(JSONTestSuite_root ++ "/n_string_invalid_backslash_esc.json"); }
504test { try expectFail(JSONTestSuite_root ++ "/n_string_invalid_unicode_escape.json"); }
505test { try expectFail(JSONTestSuite_root ++ "/n_string_invalid_utf8_after_escape.json"); }
506test { try expectFail(JSONTestSuite_root ++ "/n_string_invalid-utf-8-in-escape.json"); }
507test { try expectFail(JSONTestSuite_root ++ "/n_string_leading_uescaped_thinspace.json"); }
508test { try expectFail(JSONTestSuite_root ++ "/n_string_no_quotes_with_bad_escape.json"); }
509test { try expectFail(JSONTestSuite_root ++ "/n_string_single_doublequote.json"); }
510test { try expectFail(JSONTestSuite_root ++ "/n_string_single_quote.json"); }
511test { try expectFail(JSONTestSuite_root ++ "/n_string_single_string_no_double_quotes.json"); }
512test { try expectFail(JSONTestSuite_root ++ "/n_string_start_escape_unclosed.json"); }
513test { try expectFail(JSONTestSuite_root ++ "/n_string_unescaped_ctrl_char.json"); }
514test { try expectFail(JSONTestSuite_root ++ "/n_string_unescaped_newline.json"); }
515test { try expectFail(JSONTestSuite_root ++ "/n_string_unescaped_tab.json"); }
516test { try expectFail(JSONTestSuite_root ++ "/n_string_unicode_CapitalU.json"); }
517test { try expectFail(JSONTestSuite_root ++ "/n_string_with_trailing_garbage.json"); }
518test { try expectFail(JSONTestSuite_root ++ "/n_structure_100000_opening_arrays.json"); }
519test { try expectFail(JSONTestSuite_root ++ "/n_structure_angle_bracket_..json"); }
520test { try expectFail(JSONTestSuite_root ++ "/n_structure_angle_bracket_null.json"); }
521test { try expectFail(JSONTestSuite_root ++ "/n_structure_array_trailing_garbage.json"); }
522test { try expectFail(JSONTestSuite_root ++ "/n_structure_array_with_extra_array_close.json"); }
523test { try expectFail(JSONTestSuite_root ++ "/n_structure_array_with_unclosed_string.json"); }
524test { try expectFail(JSONTestSuite_root ++ "/n_structure_ascii-unicode-identifier.json"); }
525test { try expectFail(JSONTestSuite_root ++ "/n_structure_capitalized_True.json"); }
526test { try expectFail(JSONTestSuite_root ++ "/n_structure_close_unopened_array.json"); }
527test { try expectFail(JSONTestSuite_root ++ "/n_structure_comma_instead_of_closing_brace.json"); }
528test { try expectFail(JSONTestSuite_root ++ "/n_structure_double_array.json"); }
529test { try expectFail(JSONTestSuite_root ++ "/n_structure_end_array.json"); }
530test { try expectFail(JSONTestSuite_root ++ "/n_structure_incomplete_UTF8_BOM.json"); }
531test { try expectFail(JSONTestSuite_root ++ "/n_structure_lone-invalid-utf-8.json"); }
532test { try expectFail(JSONTestSuite_root ++ "/n_structure_lone-open-bracket.json"); }
533test { try expectFail(JSONTestSuite_root ++ "/n_structure_no_data.json"); }
534test { try expectFail(JSONTestSuite_root ++ "/n_structure_null-byte-outside-string.json"); }
535test { try expectFail(JSONTestSuite_root ++ "/n_structure_number_with_trailing_garbage.json"); }
536test { try expectFail(JSONTestSuite_root ++ "/n_structure_object_followed_by_closing_object.json"); }
537test { try expectFail(JSONTestSuite_root ++ "/n_structure_object_unclosed_no_value.json"); }
538test { try expectFail(JSONTestSuite_root ++ "/n_structure_object_with_comment.json"); }
539test { try expectFail(JSONTestSuite_root ++ "/n_structure_object_with_trailing_garbage.json"); }
540test { try expectFail(JSONTestSuite_root ++ "/n_structure_open_array_apostrophe.json"); }
541test { try expectFail(JSONTestSuite_root ++ "/n_structure_open_array_comma.json"); }
542test { try expectFail(JSONTestSuite_root ++ "/n_structure_open_array_object.json"); }
543test { try expectFail(JSONTestSuite_root ++ "/n_structure_open_array_open_object.json"); }
544test { try expectFail(JSONTestSuite_root ++ "/n_structure_open_array_open_string.json"); }
545test { try expectFail(JSONTestSuite_root ++ "/n_structure_open_array_string.json"); }
546test { try expectFail(JSONTestSuite_root ++ "/n_structure_open_object_close_array.json"); }
547test { try expectFail(JSONTestSuite_root ++ "/n_structure_open_object_comma.json"); }
548test { try expectFail(JSONTestSuite_root ++ "/n_structure_open_object.json"); }
549test { try expectFail(JSONTestSuite_root ++ "/n_structure_open_object_open_array.json"); }
550test { try expectFail(JSONTestSuite_root ++ "/n_structure_open_object_open_string.json"); }
551test { try expectFail(JSONTestSuite_root ++ "/n_structure_open_object_string_with_apostrophes.json"); }
552test { try expectFail(JSONTestSuite_root ++ "/n_structure_open_open.json"); }
553test { try expectFail(JSONTestSuite_root ++ "/n_structure_single_eacute.json"); }
554test { try expectFail(JSONTestSuite_root ++ "/n_structure_single_star.json"); }
555test { try expectFail(JSONTestSuite_root ++ "/n_structure_trailing_#.json"); }
556test { try expectFail(JSONTestSuite_root ++ "/n_structure_U+2060_word_joined.json"); }
557test { try expectFail(JSONTestSuite_root ++ "/n_structure_uescaped_LF_before_string.json"); }
558test { try expectFail(JSONTestSuite_root ++ "/n_structure_unclosed_array.json"); }
559test { try expectFail(JSONTestSuite_root ++ "/n_structure_unclosed_array_partial_null.json"); }
560test { try expectFail(JSONTestSuite_root ++ "/n_structure_unclosed_array_unfinished_false.json"); }
561test { try expectFail(JSONTestSuite_root ++ "/n_structure_unclosed_array_unfinished_true.json"); }
562test { try expectFail(JSONTestSuite_root ++ "/n_structure_unclosed_object.json"); }
563test { try expectFail(JSONTestSuite_root ++ "/n_structure_unicode-identifier.json"); }
564test { try expectFail(JSONTestSuite_root ++ "/n_structure_UTF8_BOM_no_data.json"); }
565test { try expectFail(JSONTestSuite_root ++ "/n_structure_whitespace_formfeed.json"); }
566test { try expectFail(JSONTestSuite_root ++ "/n_structure_whitespace_U+2060_word_joiner.json"); }
567// zig fmt: on
zig.mod+6
...@@ -6,3 +6,9 @@ description: "A JSON library for inspecting arbitrary values"...@@ -6,3 +6,9 @@ description: "A JSON library for inspecting arbitrary values"
6dependencies:6dependencies:
7 - src: git https://github.com/nektro/zig-extras7 - src: git https://github.com/nektro/zig-extras
8 - src: git https://github.com/nektro/zig-tracer8 - src: git https://github.com/nektro/zig-tracer
9
10root_dependencies:
11 - src: git https://github.com/nst/JSONTestSuite commit-984defc2deaa653cb73cd29f4144a720ec9efe7c
12 id: bebdygynna6kk8zbbprkva6yd28x9wmf57vtzxjn
13 license: MIT
14 keep: true