| ... | @@ -4,7 +4,7 @@ const json = @import("json"); | ... | @@ -4,7 +4,7 @@ const json = @import("json"); |
| 4 | fn parse_full(buffer: []const u8) !void { | 4 | fn parse_full(buffer: []const u8) !void { |
| 5 | const alloc = std.testing.allocator; | 5 | const alloc = std.testing.allocator; |
| 6 | var fbs = std.io.fixedBufferStream(buffer); | 6 | var fbs = std.io.fixedBufferStream(buffer); |
| 7 | var doc = try json.parse(alloc, "", fbs.reader()); | 7 | var doc = try json.parse(alloc, "", fbs.reader(), .{ .support_trailing_commas = true, .maximum_depth = 100 }); |
| 8 | defer doc.deinit(alloc); | 8 | defer doc.deinit(alloc); |
| 9 | } | 9 | } |
| 10 | | 10 | |
| ... | @@ -264,7 +264,7 @@ fn expectPass(path: []const u8) !void { | ... | @@ -264,7 +264,7 @@ fn expectPass(path: []const u8) !void { |
| 264 | const alloc = std.testing.allocator; | 264 | const alloc = std.testing.allocator; |
| 265 | var file = try std.fs.cwd().openFile(path, .{}); | 265 | var file = try std.fs.cwd().openFile(path, .{}); |
| 266 | defer file.close(); | 266 | defer file.close(); |
| 267 | var doc = try json.parse(alloc, path, file.reader()); | 267 | var doc = try json.parse(alloc, path, file.reader(), .{ .support_trailing_commas = false, .maximum_depth = 100 }); |
| 268 | defer doc.deinit(alloc); | 268 | defer doc.deinit(alloc); |
| 269 | } | 269 | } |
| 270 | | 270 | |
| ... | @@ -370,7 +370,7 @@ fn expectFail(path: []const u8) !void { | ... | @@ -370,7 +370,7 @@ fn expectFail(path: []const u8) !void { |
| 370 | const alloc = std.testing.allocator; | 370 | const alloc = std.testing.allocator; |
| 371 | var file = try std.fs.cwd().openFile(path, .{}); | 371 | var file = try std.fs.cwd().openFile(path, .{}); |
| 372 | defer file.close(); | 372 | defer file.close(); |
| 373 | var doc = json.parse(alloc, path, file.reader()) catch return; | 373 | var doc = json.parse(alloc, path, file.reader(), .{ .support_trailing_commas = false, .maximum_depth = 100 }) catch return; |
| 374 | defer doc.deinit(alloc); | 374 | defer doc.deinit(alloc); |
| 375 | try std.testing.expect(false); | 375 | try std.testing.expect(false); |
| 376 | } | 376 | } |
| ... | @@ -384,7 +384,7 @@ test { try expectFail(JSONTestSuite_root ++ "/n_array_comma_and_number.json"); } | ... | @@ -384,7 +384,7 @@ test { try expectFail(JSONTestSuite_root ++ "/n_array_comma_and_number.json"); } |
| 384 | test { try expectFail(JSONTestSuite_root ++ "/n_array_double_comma.json"); } | 384 | test { try expectFail(JSONTestSuite_root ++ "/n_array_double_comma.json"); } |
| 385 | test { try expectFail(JSONTestSuite_root ++ "/n_array_double_extra_comma.json"); } | 385 | test { try expectFail(JSONTestSuite_root ++ "/n_array_double_extra_comma.json"); } |
| 386 | test { try expectFail(JSONTestSuite_root ++ "/n_array_extra_close.json"); } | 386 | test { try expectFail(JSONTestSuite_root ++ "/n_array_extra_close.json"); } |
| 387 | test { try expectPass(JSONTestSuite_root ++ "/n_array_extra_comma.json"); } | 387 | test { try expectFail(JSONTestSuite_root ++ "/n_array_extra_comma.json"); } |
| 388 | test { try expectFail(JSONTestSuite_root ++ "/n_array_incomplete_invalid_value.json"); } | 388 | test { try expectFail(JSONTestSuite_root ++ "/n_array_incomplete_invalid_value.json"); } |
| 389 | test { try expectFail(JSONTestSuite_root ++ "/n_array_incomplete.json"); } | 389 | test { try expectFail(JSONTestSuite_root ++ "/n_array_incomplete.json"); } |
| 390 | test { try expectFail(JSONTestSuite_root ++ "/n_array_inner_array_no_comma.json"); } | 390 | test { try expectFail(JSONTestSuite_root ++ "/n_array_inner_array_no_comma.json"); } |
| ... | @@ -394,7 +394,7 @@ test { try expectFail(JSONTestSuite_root ++ "/n_array_just_comma.json"); } | ... | @@ -394,7 +394,7 @@ test { try expectFail(JSONTestSuite_root ++ "/n_array_just_comma.json"); } |
| 394 | test { try expectFail(JSONTestSuite_root ++ "/n_array_just_minus.json"); } | 394 | test { try expectFail(JSONTestSuite_root ++ "/n_array_just_minus.json"); } |
| 395 | test { try expectFail(JSONTestSuite_root ++ "/n_array_missing_value.json"); } | 395 | test { try expectFail(JSONTestSuite_root ++ "/n_array_missing_value.json"); } |
| 396 | test { try expectFail(JSONTestSuite_root ++ "/n_array_newlines_unclosed.json"); } | 396 | test { try expectFail(JSONTestSuite_root ++ "/n_array_newlines_unclosed.json"); } |
| 397 | test { try expectPass(JSONTestSuite_root ++ "/n_array_number_and_comma.json"); } | 397 | test { try expectFail(JSONTestSuite_root ++ "/n_array_number_and_comma.json"); } |
| 398 | test { try expectFail(JSONTestSuite_root ++ "/n_array_number_and_several_commas.json"); } | 398 | test { try expectFail(JSONTestSuite_root ++ "/n_array_number_and_several_commas.json"); } |
| 399 | test { try expectFail(JSONTestSuite_root ++ "/n_array_spaces_vertical_tab_formfeed.json"); } | 399 | test { try expectFail(JSONTestSuite_root ++ "/n_array_spaces_vertical_tab_formfeed.json"); } |
| 400 | test { try expectFail(JSONTestSuite_root ++ "/n_array_star_inside.json"); } | 400 | test { try expectFail(JSONTestSuite_root ++ "/n_array_star_inside.json"); } |
| ... | @@ -475,7 +475,7 @@ test { try expectFail(JSONTestSuite_root ++ "/n_object_non_string_key.json"); } | ... | @@ -475,7 +475,7 @@ test { try expectFail(JSONTestSuite_root ++ "/n_object_non_string_key.json"); } |
| 475 | test { try expectFail(JSONTestSuite_root ++ "/n_object_repeated_null_null.json"); } | 475 | test { try expectFail(JSONTestSuite_root ++ "/n_object_repeated_null_null.json"); } |
| 476 | test { try expectFail(JSONTestSuite_root ++ "/n_object_several_trailing_commas.json"); } | 476 | test { try expectFail(JSONTestSuite_root ++ "/n_object_several_trailing_commas.json"); } |
| 477 | test { try expectFail(JSONTestSuite_root ++ "/n_object_single_quote.json"); } | 477 | test { try expectFail(JSONTestSuite_root ++ "/n_object_single_quote.json"); } |
| 478 | test { try expectPass(JSONTestSuite_root ++ "/n_object_trailing_comma.json"); } | 478 | test { try expectFail(JSONTestSuite_root ++ "/n_object_trailing_comma.json"); } |
| 479 | test { try expectFail(JSONTestSuite_root ++ "/n_object_trailing_comment.json"); } | 479 | test { try expectFail(JSONTestSuite_root ++ "/n_object_trailing_comment.json"); } |
| 480 | test { try expectFail(JSONTestSuite_root ++ "/n_object_trailing_comment_open.json"); } | 480 | test { try expectFail(JSONTestSuite_root ++ "/n_object_trailing_comment_open.json"); } |
| 481 | test { try expectFail(JSONTestSuite_root ++ "/n_object_trailing_comment_slash_open_incomplete.json"); } | 481 | test { try expectFail(JSONTestSuite_root ++ "/n_object_trailing_comment_slash_open_incomplete.json"); } |
| ... | @@ -515,7 +515,7 @@ test { try expectFail(JSONTestSuite_root ++ "/n_string_unescaped_newline.json"); | ... | @@ -515,7 +515,7 @@ test { try expectFail(JSONTestSuite_root ++ "/n_string_unescaped_newline.json"); |
| 515 | test { try expectFail(JSONTestSuite_root ++ "/n_string_unescaped_tab.json"); } | 515 | test { try expectFail(JSONTestSuite_root ++ "/n_string_unescaped_tab.json"); } |
| 516 | test { try expectFail(JSONTestSuite_root ++ "/n_string_unicode_CapitalU.json"); } | 516 | test { try expectFail(JSONTestSuite_root ++ "/n_string_unicode_CapitalU.json"); } |
| 517 | test { try expectFail(JSONTestSuite_root ++ "/n_string_with_trailing_garbage.json"); } | 517 | test { try expectFail(JSONTestSuite_root ++ "/n_string_with_trailing_garbage.json"); } |
| 518 | // test { try expectFail(JSONTestSuite_root ++ "/n_structure_100000_opening_arrays.json"); } | 518 | test { try expectFail(JSONTestSuite_root ++ "/n_structure_100000_opening_arrays.json"); } |
| 519 | test { try expectFail(JSONTestSuite_root ++ "/n_structure_angle_bracket_..json"); } | 519 | test { try expectFail(JSONTestSuite_root ++ "/n_structure_angle_bracket_..json"); } |
| 520 | test { try expectFail(JSONTestSuite_root ++ "/n_structure_angle_bracket_null.json"); } | 520 | test { try expectFail(JSONTestSuite_root ++ "/n_structure_angle_bracket_null.json"); } |
| 521 | test { try expectFail(JSONTestSuite_root ++ "/n_structure_array_trailing_garbage.json"); } | 521 | test { try expectFail(JSONTestSuite_root ++ "/n_structure_array_trailing_garbage.json"); } |
| ... | @@ -539,7 +539,7 @@ test { try expectFail(JSONTestSuite_root ++ "/n_structure_object_with_comment.js | ... | @@ -539,7 +539,7 @@ test { try expectFail(JSONTestSuite_root ++ "/n_structure_object_with_comment.js |
| 539 | test { try expectFail(JSONTestSuite_root ++ "/n_structure_object_with_trailing_garbage.json"); } | 539 | test { try expectFail(JSONTestSuite_root ++ "/n_structure_object_with_trailing_garbage.json"); } |
| 540 | test { try expectFail(JSONTestSuite_root ++ "/n_structure_open_array_apostrophe.json"); } | 540 | test { try expectFail(JSONTestSuite_root ++ "/n_structure_open_array_apostrophe.json"); } |
| 541 | test { try expectFail(JSONTestSuite_root ++ "/n_structure_open_array_comma.json"); } | 541 | test { try expectFail(JSONTestSuite_root ++ "/n_structure_open_array_comma.json"); } |
| 542 | // test { try expectFail(JSONTestSuite_root ++ "/n_structure_open_array_object.json"); } | 542 | test { try expectFail(JSONTestSuite_root ++ "/n_structure_open_array_object.json"); } |
| 543 | test { try expectFail(JSONTestSuite_root ++ "/n_structure_open_array_open_object.json"); } | 543 | test { try expectFail(JSONTestSuite_root ++ "/n_structure_open_array_open_object.json"); } |
| 544 | test { try expectFail(JSONTestSuite_root ++ "/n_structure_open_array_open_string.json"); } | 544 | test { try expectFail(JSONTestSuite_root ++ "/n_structure_open_array_open_string.json"); } |
| 545 | test { try expectFail(JSONTestSuite_root ++ "/n_structure_open_array_string.json"); } | 545 | test { try expectFail(JSONTestSuite_root ++ "/n_structure_open_array_string.json"); } |