Introduction
Introduction Statistics Contact Development Disclaimer Help
This is an import from https://github.com/nst/JSONTestSuite - json-testsuite - …
git clone git://git.codemadness.org/json-testsuite
Log
Files
Refs
README
LICENSE
---
commit 9d211be643ff234ded18b4d9bb282039ec92dde4
Author: Hiltjo Posthuma <[email protected]>
Date: Sun, 2 Feb 2020 22:19:07 +0100
This is an import from https://github.com/nst/JSONTestSuite
9f23c68b521dd700e8c99151d6dc1c5c52a0246e
commit date: Sat Nov 16 19:59:22 2019 +0100
Unneeded files are removed. A script for simpler testing (test.sh) is added.
Diffstat:
A LICENSE | 21 +++++++++++++++++++++
A README | 6 ++++++
A README.md | 55 +++++++++++++++++++++++++++++…
A test.sh | 78 +++++++++++++++++++++++++++++…
A test_parsing/i_number_double_huge_… | 2 ++
A test_parsing/i_number_huge_exp.json | 2 ++
A test_parsing/i_number_neg_int_huge… | 2 ++
A test_parsing/i_number_pos_double_h… | 2 ++
A test_parsing/i_number_real_neg_ove… | 2 ++
A test_parsing/i_number_real_pos_ove… | 2 ++
A test_parsing/i_number_real_underfl… | 2 ++
A test_parsing/i_number_too_big_neg_… | 2 ++
A test_parsing/i_number_too_big_pos_… | 2 ++
A test_parsing/i_number_very_big_neg… | 2 ++
A test_parsing/i_object_key_lone_2nd… | 2 ++
A test_parsing/i_string_1st_surrogat… | 2 ++
A test_parsing/i_string_1st_valid_su… | 2 ++
A test_parsing/i_string_UTF-16LE_wit… | 0
A test_parsing/i_string_UTF-8_invali… | 2 ++
A test_parsing/i_string_UTF8_surroga… | 2 ++
A test_parsing/i_string_incomplete_s… | 2 ++
A test_parsing/i_string_incomplete_s… | 2 ++
A test_parsing/i_string_incomplete_s… | 2 ++
A test_parsing/i_string_invalid_lone… | 2 ++
A test_parsing/i_string_invalid_surr… | 2 ++
A test_parsing/i_string_invalid_utf-… | 2 ++
A test_parsing/i_string_inverted_sur… | 2 ++
A test_parsing/i_string_iso_latin_1.… | 2 ++
A test_parsing/i_string_lone_second_… | 2 ++
A test_parsing/i_string_lone_utf8_co… | 2 ++
A test_parsing/i_string_not_in_unico… | 2 ++
A test_parsing/i_string_overlong_seq… | 2 ++
A test_parsing/i_string_overlong_seq… | 2 ++
A test_parsing/i_string_overlong_seq… | 2 ++
A test_parsing/i_string_truncated-ut… | 2 ++
A test_parsing/i_string_utf16BE_no_B… | 0
A test_parsing/i_string_utf16LE_no_B… | 0
A test_parsing/i_structure_500_neste… | 2 ++
A test_parsing/i_structure_UTF-8_BOM… | 2 ++
A test_parsing/n_array_1_true_withou… | 2 ++
A test_parsing/n_array_a_invalid_utf… | 2 ++
A test_parsing/n_array_colon_instead… | 2 ++
A test_parsing/n_array_comma_after_c… | 2 ++
A test_parsing/n_array_comma_and_num… | 2 ++
A test_parsing/n_array_double_comma.… | 2 ++
A test_parsing/n_array_double_extra_… | 2 ++
A test_parsing/n_array_extra_close.j… | 2 ++
A test_parsing/n_array_extra_comma.j… | 2 ++
A test_parsing/n_array_incomplete.js… | 2 ++
A test_parsing/n_array_incomplete_in… | 2 ++
A test_parsing/n_array_inner_array_n… | 2 ++
A test_parsing/n_array_invalid_utf8.… | 2 ++
A test_parsing/n_array_items_separat… | 2 ++
A test_parsing/n_array_just_comma.js… | 2 ++
A test_parsing/n_array_just_minus.js… | 2 ++
A test_parsing/n_array_missing_value… | 2 ++
A test_parsing/n_array_newlines_uncl… | 4 ++++
A test_parsing/n_array_number_and_co… | 2 ++
A test_parsing/n_array_number_and_se… | 2 ++
A test_parsing/n_array_spaces_vertic… | 2 ++
A test_parsing/n_array_star_inside.j… | 2 ++
A test_parsing/n_array_unclosed.json | 2 ++
A test_parsing/n_array_unclosed_trai… | 2 ++
A test_parsing/n_array_unclosed_with… | 4 ++++
A test_parsing/n_array_unclosed_with… | 2 ++
A test_parsing/n_incomplete_false.js… | 2 ++
A test_parsing/n_incomplete_null.json | 2 ++
A test_parsing/n_incomplete_true.json | 2 ++
A test_parsing/n_multidigit_number_t… | 0
A test_parsing/n_number_++.json | 2 ++
A test_parsing/n_number_+1.json | 2 ++
A test_parsing/n_number_+Inf.json | 2 ++
A test_parsing/n_number_-01.json | 2 ++
A test_parsing/n_number_-1.0..json | 2 ++
A test_parsing/n_number_-2..json | 2 ++
A test_parsing/n_number_-NaN.json | 2 ++
A test_parsing/n_number_.-1.json | 2 ++
A test_parsing/n_number_.2e-3.json | 2 ++
A test_parsing/n_number_0.1.2.json | 2 ++
A test_parsing/n_number_0.3e+.json | 2 ++
A test_parsing/n_number_0.3e.json | 2 ++
A test_parsing/n_number_0.e1.json | 2 ++
A test_parsing/n_number_0_capital_E+… | 2 ++
A test_parsing/n_number_0_capital_E.… | 2 ++
A test_parsing/n_number_0e+.json | 2 ++
A test_parsing/n_number_0e.json | 2 ++
A test_parsing/n_number_1.0e+.json | 2 ++
A test_parsing/n_number_1.0e-.json | 2 ++
A test_parsing/n_number_1.0e.json | 2 ++
A test_parsing/n_number_1_000.json | 2 ++
A test_parsing/n_number_1eE2.json | 2 ++
A test_parsing/n_number_2.e+3.json | 2 ++
A test_parsing/n_number_2.e-3.json | 2 ++
A test_parsing/n_number_2.e3.json | 2 ++
A test_parsing/n_number_9.e+.json | 2 ++
A test_parsing/n_number_Inf.json | 2 ++
A test_parsing/n_number_NaN.json | 2 ++
A test_parsing/n_number_U+FF11_fullw… | 2 ++
A test_parsing/n_number_expression.j… | 2 ++
A test_parsing/n_number_hex_1_digit.… | 2 ++
A test_parsing/n_number_hex_2_digits… | 2 ++
A test_parsing/n_number_infinity.json | 2 ++
A test_parsing/n_number_invalid+-.js… | 2 ++
A test_parsing/n_number_invalid-nega… | 2 ++
A test_parsing/n_number_invalid-utf-… | 2 ++
A test_parsing/n_number_invalid-utf-… | 2 ++
A test_parsing/n_number_invalid-utf-… | 1 +
A test_parsing/n_number_minus_infini… | 2 ++
A test_parsing/n_number_minus_sign_w… | 2 ++
A test_parsing/n_number_minus_space_… | 2 ++
A test_parsing/n_number_neg_int_star… | 2 ++
A test_parsing/n_number_neg_real_wit… | 2 ++
A test_parsing/n_number_neg_with_gar… | 2 ++
A test_parsing/n_number_real_garbage… | 2 ++
A test_parsing/n_number_real_with_in… | 2 ++
A test_parsing/n_number_real_without… | 2 ++
A test_parsing/n_number_starting_wit… | 2 ++
A test_parsing/n_number_with_alpha.j… | 2 ++
A test_parsing/n_number_with_alpha_c… | 2 ++
A test_parsing/n_number_with_leading… | 2 ++
A test_parsing/n_object_bad_value.js… | 2 ++
A test_parsing/n_object_bracket_key.… | 1 +
A test_parsing/n_object_comma_instea… | 2 ++
A test_parsing/n_object_double_colon… | 2 ++
A test_parsing/n_object_emoji.json | 2 ++
A test_parsing/n_object_garbage_at_e… | 2 ++
A test_parsing/n_object_key_with_sin… | 2 ++
A test_parsing/n_object_lone_continu… | 2 ++
A test_parsing/n_object_missing_colo… | 2 ++
A test_parsing/n_object_missing_key.… | 2 ++
A test_parsing/n_object_missing_semi… | 2 ++
A test_parsing/n_object_missing_valu… | 2 ++
A test_parsing/n_object_no-colon.json | 2 ++
A test_parsing/n_object_non_string_k… | 2 ++
A test_parsing/n_object_non_string_k… | 2 ++
A test_parsing/n_object_repeated_nul… | 2 ++
A test_parsing/n_object_several_trai… | 2 ++
A test_parsing/n_object_single_quote… | 2 ++
A test_parsing/n_object_trailing_com… | 2 ++
A test_parsing/n_object_trailing_com… | 2 ++
A test_parsing/n_object_trailing_com… | 2 ++
A test_parsing/n_object_trailing_com… | 2 ++
A test_parsing/n_object_trailing_com… | 2 ++
A test_parsing/n_object_two_commas_i… | 2 ++
A test_parsing/n_object_unquoted_key… | 2 ++
A test_parsing/n_object_unterminated… | 2 ++
A test_parsing/n_object_with_single_… | 2 ++
A test_parsing/n_object_with_trailin… | 2 ++
A test_parsing/n_single_space.json | 2 ++
A test_parsing/n_string_1_surrogate_… | 2 ++
A test_parsing/n_string_1_surrogate_… | 2 ++
A test_parsing/n_string_1_surrogate_… | 2 ++
A test_parsing/n_string_1_surrogate_… | 2 ++
A test_parsing/n_string_accentuated_… | 2 ++
A test_parsing/n_string_backslash_00… | 0
A test_parsing/n_string_escape_x.json | 2 ++
A test_parsing/n_string_escaped_back… | 2 ++
A test_parsing/n_string_escaped_ctrl… | 2 ++
A test_parsing/n_string_escaped_emoj… | 2 ++
A test_parsing/n_string_incomplete_e… | 2 ++
A test_parsing/n_string_incomplete_e… | 2 ++
A test_parsing/n_string_incomplete_s… | 2 ++
A test_parsing/n_string_incomplete_s… | 2 ++
A test_parsing/n_string_invalid-utf-… | 2 ++
A test_parsing/n_string_invalid_back… | 2 ++
A test_parsing/n_string_invalid_unic… | 2 ++
A test_parsing/n_string_invalid_utf8… | 2 ++
A test_parsing/n_string_leading_uesc… | 2 ++
A test_parsing/n_string_no_quotes_wi… | 2 ++
A test_parsing/n_string_single_doubl… | 2 ++
A test_parsing/n_string_single_quote… | 2 ++
A test_parsing/n_string_single_strin… | 2 ++
A test_parsing/n_string_start_escape… | 2 ++
A test_parsing/n_string_unescaped_cr… | 0
A test_parsing/n_string_unescaped_ne… | 3 +++
A test_parsing/n_string_unescaped_ta… | 2 ++
A test_parsing/n_string_unicode_Capi… | 2 ++
A test_parsing/n_string_with_trailin… | 2 ++
A test_parsing/n_structure_100000_op… | 2 ++
A test_parsing/n_structure_U+2060_wo… | 2 ++
A test_parsing/n_structure_UTF8_BOM_… | 2 ++
A test_parsing/n_structure_angle_bra… | 2 ++
A test_parsing/n_structure_angle_bra… | 2 ++
A test_parsing/n_structure_array_tra… | 2 ++
A test_parsing/n_structure_array_wit… | 2 ++
A test_parsing/n_structure_array_wit… | 2 ++
A test_parsing/n_structure_ascii-uni… | 2 ++
A test_parsing/n_structure_capitaliz… | 2 ++
A test_parsing/n_structure_close_uno… | 2 ++
A test_parsing/n_structure_comma_ins… | 2 ++
A test_parsing/n_structure_double_ar… | 2 ++
A test_parsing/n_structure_end_array… | 2 ++
A test_parsing/n_structure_incomplet… | 2 ++
A test_parsing/n_structure_lone-inva… | 2 ++
A test_parsing/n_structure_lone-open… | 2 ++
A test_parsing/n_structure_no_data.j… | 0
A test_parsing/n_structure_null-byte… | 0
A test_parsing/n_structure_number_wi… | 2 ++
A test_parsing/n_structure_object_fo… | 2 ++
A test_parsing/n_structure_object_un… | 2 ++
A test_parsing/n_structure_object_wi… | 2 ++
A test_parsing/n_structure_object_wi… | 2 ++
A test_parsing/n_structure_open_arra… | 2 ++
A test_parsing/n_structure_open_arra… | 2 ++
A test_parsing/n_structure_open_arra… | 1 +
A test_parsing/n_structure_open_arra… | 2 ++
A test_parsing/n_structure_open_arra… | 2 ++
A test_parsing/n_structure_open_arra… | 2 ++
A test_parsing/n_structure_open_obje… | 2 ++
A test_parsing/n_structure_open_obje… | 2 ++
A test_parsing/n_structure_open_obje… | 2 ++
A test_parsing/n_structure_open_obje… | 2 ++
A test_parsing/n_structure_open_obje… | 2 ++
A test_parsing/n_structure_open_obje… | 2 ++
A test_parsing/n_structure_open_open… | 2 ++
A test_parsing/n_structure_single_ea… | 2 ++
A test_parsing/n_structure_single_st… | 2 ++
A test_parsing/n_structure_trailing_… | 2 ++
A test_parsing/n_structure_uescaped_… | 2 ++
A test_parsing/n_structure_unclosed_… | 2 ++
A test_parsing/n_structure_unclosed_… | 2 ++
A test_parsing/n_structure_unclosed_… | 2 ++
A test_parsing/n_structure_unclosed_… | 2 ++
A test_parsing/n_structure_unclosed_… | 2 ++
A test_parsing/n_structure_unicode-i… | 2 ++
A test_parsing/n_structure_whitespac… | 2 ++
A test_parsing/n_structure_whitespac… | 2 ++
A test_parsing/y_array_arraysWithSpa… | 2 ++
A test_parsing/y_array_empty-string.… | 2 ++
A test_parsing/y_array_empty.json | 2 ++
A test_parsing/y_array_ending_with_n… | 2 ++
A test_parsing/y_array_false.json | 2 ++
A test_parsing/y_array_heterogeneous… | 2 ++
A test_parsing/y_array_null.json | 2 ++
A test_parsing/y_array_with_1_and_ne… | 3 +++
A test_parsing/y_array_with_leading_… | 2 ++
A test_parsing/y_array_with_several_… | 2 ++
A test_parsing/y_array_with_trailing… | 2 ++
A test_parsing/y_number.json | 2 ++
A test_parsing/y_number_0e+1.json | 2 ++
A test_parsing/y_number_0e1.json | 2 ++
A test_parsing/y_number_after_space.… | 2 ++
A test_parsing/y_number_double_close… | 1 +
A test_parsing/y_number_int_with_exp… | 2 ++
A test_parsing/y_number_minus_zero.j… | 2 ++
A test_parsing/y_number_negative_int… | 2 ++
A test_parsing/y_number_negative_one… | 2 ++
A test_parsing/y_number_negative_zer… | 2 ++
A test_parsing/y_number_real_capital… | 2 ++
A test_parsing/y_number_real_capital… | 2 ++
A test_parsing/y_number_real_capital… | 2 ++
A test_parsing/y_number_real_exponen… | 2 ++
A test_parsing/y_number_real_fractio… | 2 ++
A test_parsing/y_number_real_neg_exp… | 2 ++
A test_parsing/y_number_real_pos_exp… | 2 ++
A test_parsing/y_number_simple_int.j… | 2 ++
A test_parsing/y_number_simple_real.… | 2 ++
A test_parsing/y_object.json | 2 ++
A test_parsing/y_object_basic.json | 2 ++
A test_parsing/y_object_duplicated_k… | 2 ++
A test_parsing/y_object_duplicated_k… | 2 ++
A test_parsing/y_object_empty.json | 2 ++
A test_parsing/y_object_empty_key.js… | 2 ++
A test_parsing/y_object_escaped_null… | 2 ++
A test_parsing/y_object_extreme_numb… | 2 ++
A test_parsing/y_object_long_strings… | 2 ++
A test_parsing/y_object_simple.json | 2 ++
A test_parsing/y_object_string_unico… | 2 ++
A test_parsing/y_object_with_newline… | 4 ++++
A test_parsing/y_string_1_2_3_bytes_… | 2 ++
A test_parsing/y_string_accepted_sur… | 2 ++
A test_parsing/y_string_accepted_sur… | 2 ++
A test_parsing/y_string_allowed_esca… | 2 ++
A test_parsing/y_string_backslash_an… | 2 ++
A test_parsing/y_string_backslash_do… | 2 ++
A test_parsing/y_string_comments.json | 2 ++
A test_parsing/y_string_double_escap… | 2 ++
A test_parsing/y_string_double_escap… | 2 ++
A test_parsing/y_string_escaped_cont… | 2 ++
A test_parsing/y_string_escaped_nonc… | 2 ++
A test_parsing/y_string_in_array.json | 2 ++
A test_parsing/y_string_in_array_wit… | 2 ++
A test_parsing/y_string_last_surroga… | 2 ++
A test_parsing/y_string_nbsp_uescape… | 2 ++
A test_parsing/y_string_nonCharacter… | 2 ++
A test_parsing/y_string_nonCharacter… | 2 ++
A test_parsing/y_string_null_escape.… | 2 ++
A test_parsing/y_string_one-byte-utf… | 2 ++
A test_parsing/y_string_pi.json | 2 ++
A test_parsing/y_string_reservedChar… | 2 ++
A test_parsing/y_string_simple_ascii… | 2 ++
A test_parsing/y_string_space.json | 2 ++
A test_parsing/y_string_surrogates_U… | 2 ++
A test_parsing/y_string_three-byte-u… | 2 ++
A test_parsing/y_string_two-byte-utf… | 2 ++
A test_parsing/y_string_u+2028_line_… | 2 ++
A test_parsing/y_string_u+2029_par_s… | 2 ++
A test_parsing/y_string_uEscape.json | 2 ++
A test_parsing/y_string_uescaped_new… | 2 ++
A test_parsing/y_string_unescaped_ch… | 2 ++
A test_parsing/y_string_unicode.json | 2 ++
A test_parsing/y_string_unicodeEscap… | 2 ++
A test_parsing/y_string_unicode_2.js… | 2 ++
A test_parsing/y_string_unicode_U+10… | 2 ++
A test_parsing/y_string_unicode_U+1F… | 2 ++
A test_parsing/y_string_unicode_U+20… | 2 ++
A test_parsing/y_string_unicode_U+20… | 2 ++
A test_parsing/y_string_unicode_U+FD… | 2 ++
A test_parsing/y_string_unicode_U+FF… | 2 ++
A test_parsing/y_string_unicode_esca… | 2 ++
A test_parsing/y_string_utf8.json | 2 ++
A test_parsing/y_string_with_del_cha… | 2 ++
A test_parsing/y_structure_lonely_fa… | 2 ++
A test_parsing/y_structure_lonely_in… | 2 ++
A test_parsing/y_structure_lonely_ne… | 2 ++
A test_parsing/y_structure_lonely_nu… | 2 ++
A test_parsing/y_structure_lonely_st… | 2 ++
A test_parsing/y_structure_lonely_tr… | 2 ++
A test_parsing/y_structure_string_em… | 2 ++
A test_parsing/y_structure_trailing_… | 1 +
A test_parsing/y_structure_true_in_a… | 2 ++
A test_parsing/y_structure_whitespac… | 2 ++
A test_transform/number_-92233720368… | 1 +
A test_transform/number_-92233720368… | 1 +
A test_transform/number_1.0.json | 1 +
A test_transform/number_1.0000000000… | 1 +
A test_transform/number_100000000000… | 1 +
A test_transform/number_100000000000… | 1 +
A test_transform/number_1e-999.json | 1 +
A test_transform/number_1e6.json | 1 +
A test_transform/number_922337203685… | 1 +
A test_transform/number_922337203685… | 1 +
A test_transform/object_key_nfc_nfd.… | 2 ++
A test_transform/object_key_nfd_nfc.… | 2 ++
A test_transform/object_same_key_dif… | 2 ++
A test_transform/object_same_key_sam… | 2 ++
A test_transform/object_same_key_unc… | 1 +
A test_transform/string_1_escaped_in… | 2 ++
A test_transform/string_1_invalid_co… | 2 ++
A test_transform/string_2_escaped_in… | 2 ++
A test_transform/string_2_invalid_co… | 2 ++
A test_transform/string_3_escaped_in… | 2 ++
A test_transform/string_3_invalid_co… | 2 ++
A test_transform/string_with_escaped… | 2 ++
344 files changed, 816 insertions(+), 0 deletions(-)
---
diff --git a/LICENSE b/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2016 Nicolas Seriot
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/README b/README
@@ -0,0 +1,6 @@
+This is an import from https://github.com/nst/JSONTestSuite
+
+9f23c68b521dd700e8c99151d6dc1c5c52a0246e
+commit date: Sat Nov 16 19:59:22 2019 +0100
+
+Unneeded files are removed. A script for simpler testing (test.sh) is added.
diff --git a/README.md b/README.md
@@ -0,0 +1,55 @@
+# JSON Parsing Test Suite
+A comprehensive test suite for RFC 8259 compliant JSON parsers
+
+This repository was created as an appendix to the article [Parsing JSON is a M…
+
+**/parsers/**
+
+This directory contains several parsers and tiny wrappers to turn the parsers …
+
+- `0` the parser did accept the content
+- `1` the parser did reject the content
+- `>1` the process did crash
+- `timeout` happens after 5 seconds
+
+**/test\_parsing/**
+
+The name of these files tell if their contents should be accepted or rejected.
+
+- `y_` content must be accepted by parsers
+- `n_` content must be rejected by parsers
+- `i_` parsers are free to accept or reject content
+
+**/test\_transform/**
+
+These files contain weird structures and characters that parsers may understan…
+
+- huge numbers
+- dictionaries with similar keys
+- NULL characters
+- escaped invalid strings
+
+These files were used to produce `results/transform.html`.
+
+**/run_tests.py**
+
+Run all parsers with all files:
+
+ $ python3 run_tests.py
+
+Run all parsers with a specific file:
+
+ $ python3 run_tests.py file.json
+
+Run specific parsers with all files:
+
+ $ echo '["Python 2.7.10", "Python 3.5.2"]' > python_only.json
+ $ python3 run_tests.py --filter=python_only.json
+
+The script writes logs in `results/logs.txt`.
+
+The script then reads `logs.txt` and generates `results/parsing.html`.
+
+**/results/**
+
+<img src="results/pruned_results.png" alt="JSON Parsing Tests" />
diff --git a/test.sh b/test.sh
@@ -0,0 +1,78 @@
+#!/bin/sh
+
+# log(f, status, text)
+log() {
+ printf '%-4.4s %s %s\n' "$2" "$1" "$3"
+}
+
+# fail(f,s)
+fail() {
+ log "$1" "FAIL" "$2"
+}
+
+# ok(f,s)
+ok() {
+ log "$1" "OK" "$2"
+}
+
+# meh(f,s)
+meh() {
+ log "$1" "MEH" "$2"
+}
+
+json() {
+ json2tsv
+}
+
+testaccepted() {
+ # y_ content must be accepted by parsers
+ for f in test_parsing/y_*; do
+ json < "$f" >/dev/null 2>/dev/null
+ if test $? -ne 0; then
+ fail "$f" "must be accepted, but did not"
+ echo "ABORT ABORT ABORT!"
+ exit 1
+ else
+ ok "$f" "accepted"
+# DEBUG
+# echo "Input:"
+# cat "$f"
+# echo ""
+# echo "- - -"
+# echo "Output:"
+# cat "/tmp/1"
+# echo "==="
+ fi
+ done
+}
+
+testrejected() {
+ # n_ content must be rejected by parsers
+ for f in test_parsing/n_*; do
+ json < "$f" > /dev/null 2>/dev/null
+ if test $? -eq 0; then
+ fail "$f" "must be rejected, but was not"
+ else
+ ok "$f" "rejected"
+ fi
+ done
+}
+
+testeither() {
+ # i_ parsers are free to accept or reject content
+ for f in test_parsing/i_*; do
+ json < "$f" > /dev/null 2>/dev/null
+ if test $? -eq 0; then
+ meh "$f" "Accepted, but either way is fine"
+ else
+ meh "$f" "Rejected, but either way is fine"
+ fi
+ done
+}
+
+# these MUST all pass.
+testaccepted
+# these MAY fail.
+testrejected
+# either way is fine.
+testeither
diff --git a/test_parsing/i_number_double_huge_neg_exp.json b/test_parsing/i_nu…
@@ -0,0 +1 @@
+[123.456e-789]
+\ No newline at end of file
diff --git a/test_parsing/i_number_huge_exp.json b/test_parsing/i_number_huge_e…
@@ -0,0 +1 @@
+[0.4e0066999999999999999999999999999999999999999999999999999999999999999999999…
+\ No newline at end of file
diff --git a/test_parsing/i_number_neg_int_huge_exp.json b/test_parsing/i_numbe…
@@ -0,0 +1 @@
+[-1e+9999]
+\ No newline at end of file
diff --git a/test_parsing/i_number_pos_double_huge_exp.json b/test_parsing/i_nu…
@@ -0,0 +1 @@
+[1.5e+9999]
+\ No newline at end of file
diff --git a/test_parsing/i_number_real_neg_overflow.json b/test_parsing/i_numb…
@@ -0,0 +1 @@
+[-123123e100000]
+\ No newline at end of file
diff --git a/test_parsing/i_number_real_pos_overflow.json b/test_parsing/i_numb…
@@ -0,0 +1 @@
+[123123e100000]
+\ No newline at end of file
diff --git a/test_parsing/i_number_real_underflow.json b/test_parsing/i_number_…
@@ -0,0 +1 @@
+[123e-10000000]
+\ No newline at end of file
diff --git a/test_parsing/i_number_too_big_neg_int.json b/test_parsing/i_number…
@@ -0,0 +1 @@
+[-123123123123123123123123123123]
+\ No newline at end of file
diff --git a/test_parsing/i_number_too_big_pos_int.json b/test_parsing/i_number…
@@ -0,0 +1 @@
+[100000000000000000000]
+\ No newline at end of file
diff --git a/test_parsing/i_number_very_big_negative_int.json b/test_parsing/i_…
@@ -0,0 +1 @@
+[-237462374673276894279832749832423479823246327846]
+\ No newline at end of file
diff --git a/test_parsing/i_object_key_lone_2nd_surrogate.json b/test_parsing/i…
@@ -0,0 +1 @@
+{"\uDFAA":0}
+\ No newline at end of file
diff --git a/test_parsing/i_string_1st_surrogate_but_2nd_missing.json b/test_pa…
@@ -0,0 +1 @@
+["\uDADA"]
+\ No newline at end of file
diff --git a/test_parsing/i_string_1st_valid_surrogate_2nd_invalid.json b/test_…
@@ -0,0 +1 @@
+["\uD888\u1234"]
+\ No newline at end of file
diff --git a/test_parsing/i_string_UTF-16LE_with_BOM.json b/test_parsing/i_stri…
Binary files differ.
diff --git a/test_parsing/i_string_UTF-8_invalid_sequence.json b/test_parsing/i…
@@ -0,0 +1 @@
+["日ш�"]
+\ No newline at end of file
diff --git a/test_parsing/i_string_UTF8_surrogate_U+D800.json b/test_parsing/i_…
@@ -0,0 +1 @@
+["�"]
+\ No newline at end of file
diff --git a/test_parsing/i_string_incomplete_surrogate_and_escape_valid.json b…
@@ -0,0 +1 @@
+["\uD800\n"]
+\ No newline at end of file
diff --git a/test_parsing/i_string_incomplete_surrogate_pair.json b/test_parsin…
@@ -0,0 +1 @@
+["\uDd1ea"]
+\ No newline at end of file
diff --git a/test_parsing/i_string_incomplete_surrogates_escape_valid.json b/te…
@@ -0,0 +1 @@
+["\uD800\uD800\n"]
+\ No newline at end of file
diff --git a/test_parsing/i_string_invalid_lonely_surrogate.json b/test_parsing…
@@ -0,0 +1 @@
+["\ud800"]
+\ No newline at end of file
diff --git a/test_parsing/i_string_invalid_surrogate.json b/test_parsing/i_stri…
@@ -0,0 +1 @@
+["\ud800abc"]
+\ No newline at end of file
diff --git a/test_parsing/i_string_invalid_utf-8.json b/test_parsing/i_string_i…
@@ -0,0 +1 @@
+["�"]
+\ No newline at end of file
diff --git a/test_parsing/i_string_inverted_surrogates_U+1D11E.json b/test_pars…
@@ -0,0 +1 @@
+["\uDd1e\uD834"]
+\ No newline at end of file
diff --git a/test_parsing/i_string_iso_latin_1.json b/test_parsing/i_string_iso…
@@ -0,0 +1 @@
+["�"]
+\ No newline at end of file
diff --git a/test_parsing/i_string_lone_second_surrogate.json b/test_parsing/i_…
@@ -0,0 +1 @@
+["\uDFAA"]
+\ No newline at end of file
diff --git a/test_parsing/i_string_lone_utf8_continuation_byte.json b/test_pars…
@@ -0,0 +1 @@
+["�"]
+\ No newline at end of file
diff --git a/test_parsing/i_string_not_in_unicode_range.json b/test_parsing/i_s…
@@ -0,0 +1 @@
+["�"]
+\ No newline at end of file
diff --git a/test_parsing/i_string_overlong_sequence_2_bytes.json b/test_parsin…
@@ -0,0 +1 @@
+["��"]
+\ No newline at end of file
diff --git a/test_parsing/i_string_overlong_sequence_6_bytes.json b/test_parsin…
@@ -0,0 +1 @@
+["������"]
+\ No newline at end of file
diff --git a/test_parsing/i_string_overlong_sequence_6_bytes_null.json b/test_p…
@@ -0,0 +1 @@
+["������"]
+\ No newline at end of file
diff --git a/test_parsing/i_string_truncated-utf-8.json b/test_parsing/i_string…
@@ -0,0 +1 @@
+["�"]
+\ No newline at end of file
diff --git a/test_parsing/i_string_utf16BE_no_BOM.json b/test_parsing/i_string_…
Binary files differ.
diff --git a/test_parsing/i_string_utf16LE_no_BOM.json b/test_parsing/i_string_…
Binary files differ.
diff --git a/test_parsing/i_structure_500_nested_arrays.json b/test_parsing/i_s…
@@ -0,0 +1 @@
+[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[…
+\ No newline at end of file
diff --git a/test_parsing/i_structure_UTF-8_BOM_empty_object.json b/test_parsin…
@@ -0,0 +1 @@
+{}
+\ No newline at end of file
diff --git a/test_parsing/n_array_1_true_without_comma.json b/test_parsing/n_ar…
@@ -0,0 +1 @@
+[1 true]
+\ No newline at end of file
diff --git a/test_parsing/n_array_a_invalid_utf8.json b/test_parsing/n_array_a_…
@@ -0,0 +1 @@
+[a�]
+\ No newline at end of file
diff --git a/test_parsing/n_array_colon_instead_of_comma.json b/test_parsing/n_…
@@ -0,0 +1 @@
+["": 1]
+\ No newline at end of file
diff --git a/test_parsing/n_array_comma_after_close.json b/test_parsing/n_array…
@@ -0,0 +1 @@
+[""],
+\ No newline at end of file
diff --git a/test_parsing/n_array_comma_and_number.json b/test_parsing/n_array_…
@@ -0,0 +1 @@
+[,1]
+\ No newline at end of file
diff --git a/test_parsing/n_array_double_comma.json b/test_parsing/n_array_doub…
@@ -0,0 +1 @@
+[1,,2]
+\ No newline at end of file
diff --git a/test_parsing/n_array_double_extra_comma.json b/test_parsing/n_arra…
@@ -0,0 +1 @@
+["x",,]
+\ No newline at end of file
diff --git a/test_parsing/n_array_extra_close.json b/test_parsing/n_array_extra…
@@ -0,0 +1 @@
+["x"]]
+\ No newline at end of file
diff --git a/test_parsing/n_array_extra_comma.json b/test_parsing/n_array_extra…
@@ -0,0 +1 @@
+["",]
+\ No newline at end of file
diff --git a/test_parsing/n_array_incomplete.json b/test_parsing/n_array_incomp…
@@ -0,0 +1 @@
+["x"
+\ No newline at end of file
diff --git a/test_parsing/n_array_incomplete_invalid_value.json b/test_parsing/…
@@ -0,0 +1 @@
+[x
+\ No newline at end of file
diff --git a/test_parsing/n_array_inner_array_no_comma.json b/test_parsing/n_ar…
@@ -0,0 +1 @@
+[3[4]]
+\ No newline at end of file
diff --git a/test_parsing/n_array_invalid_utf8.json b/test_parsing/n_array_inva…
@@ -0,0 +1 @@
+[�]
+\ No newline at end of file
diff --git a/test_parsing/n_array_items_separated_by_semicolon.json b/test_pars…
@@ -0,0 +1 @@
+[1:2]
+\ No newline at end of file
diff --git a/test_parsing/n_array_just_comma.json b/test_parsing/n_array_just_c…
@@ -0,0 +1 @@
+[,]
+\ No newline at end of file
diff --git a/test_parsing/n_array_just_minus.json b/test_parsing/n_array_just_m…
@@ -0,0 +1 @@
+[-]
+\ No newline at end of file
diff --git a/test_parsing/n_array_missing_value.json b/test_parsing/n_array_mis…
@@ -0,0 +1 @@
+[ , ""]
+\ No newline at end of file
diff --git a/test_parsing/n_array_newlines_unclosed.json b/test_parsing/n_array…
@@ -0,0 +1,3 @@
+["a",
+4
+,1,
+\ No newline at end of file
diff --git a/test_parsing/n_array_number_and_comma.json b/test_parsing/n_array_…
@@ -0,0 +1 @@
+[1,]
+\ No newline at end of file
diff --git a/test_parsing/n_array_number_and_several_commas.json b/test_parsing…
@@ -0,0 +1 @@
+[1,,]
+\ No newline at end of file
diff --git a/test_parsing/n_array_spaces_vertical_tab_formfeed.json b/test_pars…
@@ -0,0 +1 @@
+[" a"\f]
+\ No newline at end of file
diff --git a/test_parsing/n_array_star_inside.json b/test_parsing/n_array_star_…
@@ -0,0 +1 @@
+[*]
+\ No newline at end of file
diff --git a/test_parsing/n_array_unclosed.json b/test_parsing/n_array_unclosed…
@@ -0,0 +1 @@
+[""
+\ No newline at end of file
diff --git a/test_parsing/n_array_unclosed_trailing_comma.json b/test_parsing/n…
@@ -0,0 +1 @@
+[1,
+\ No newline at end of file
diff --git a/test_parsing/n_array_unclosed_with_new_lines.json b/test_parsing/n…
@@ -0,0 +1,3 @@
+[1,
+1
+,1
+\ No newline at end of file
diff --git a/test_parsing/n_array_unclosed_with_object_inside.json b/test_parsi…
@@ -0,0 +1 @@
+[{}
+\ No newline at end of file
diff --git a/test_parsing/n_incomplete_false.json b/test_parsing/n_incomplete_f…
@@ -0,0 +1 @@
+[fals]
+\ No newline at end of file
diff --git a/test_parsing/n_incomplete_null.json b/test_parsing/n_incomplete_nu…
@@ -0,0 +1 @@
+[nul]
+\ No newline at end of file
diff --git a/test_parsing/n_incomplete_true.json b/test_parsing/n_incomplete_tr…
@@ -0,0 +1 @@
+[tru]
+\ No newline at end of file
diff --git a/test_parsing/n_multidigit_number_then_00.json b/test_parsing/n_mul…
Binary files differ.
diff --git a/test_parsing/n_number_++.json b/test_parsing/n_number_++.json
@@ -0,0 +1 @@
+[++1234]
+\ No newline at end of file
diff --git a/test_parsing/n_number_+1.json b/test_parsing/n_number_+1.json
@@ -0,0 +1 @@
+[+1]
+\ No newline at end of file
diff --git a/test_parsing/n_number_+Inf.json b/test_parsing/n_number_+Inf.json
@@ -0,0 +1 @@
+[+Inf]
+\ No newline at end of file
diff --git a/test_parsing/n_number_-01.json b/test_parsing/n_number_-01.json
@@ -0,0 +1 @@
+[-01]
+\ No newline at end of file
diff --git a/test_parsing/n_number_-1.0..json b/test_parsing/n_number_-1.0..json
@@ -0,0 +1 @@
+[-1.0.]
+\ No newline at end of file
diff --git a/test_parsing/n_number_-2..json b/test_parsing/n_number_-2..json
@@ -0,0 +1 @@
+[-2.]
+\ No newline at end of file
diff --git a/test_parsing/n_number_-NaN.json b/test_parsing/n_number_-NaN.json
@@ -0,0 +1 @@
+[-NaN]
+\ No newline at end of file
diff --git a/test_parsing/n_number_.-1.json b/test_parsing/n_number_.-1.json
@@ -0,0 +1 @@
+[.-1]
+\ No newline at end of file
diff --git a/test_parsing/n_number_.2e-3.json b/test_parsing/n_number_.2e-3.json
@@ -0,0 +1 @@
+[.2e-3]
+\ No newline at end of file
diff --git a/test_parsing/n_number_0.1.2.json b/test_parsing/n_number_0.1.2.json
@@ -0,0 +1 @@
+[0.1.2]
+\ No newline at end of file
diff --git a/test_parsing/n_number_0.3e+.json b/test_parsing/n_number_0.3e+.json
@@ -0,0 +1 @@
+[0.3e+]
+\ No newline at end of file
diff --git a/test_parsing/n_number_0.3e.json b/test_parsing/n_number_0.3e.json
@@ -0,0 +1 @@
+[0.3e]
+\ No newline at end of file
diff --git a/test_parsing/n_number_0.e1.json b/test_parsing/n_number_0.e1.json
@@ -0,0 +1 @@
+[0.e1]
+\ No newline at end of file
diff --git a/test_parsing/n_number_0_capital_E+.json b/test_parsing/n_number_0_…
@@ -0,0 +1 @@
+[0E+]
+\ No newline at end of file
diff --git a/test_parsing/n_number_0_capital_E.json b/test_parsing/n_number_0_c…
@@ -0,0 +1 @@
+[0E]
+\ No newline at end of file
diff --git a/test_parsing/n_number_0e+.json b/test_parsing/n_number_0e+.json
@@ -0,0 +1 @@
+[0e+]
+\ No newline at end of file
diff --git a/test_parsing/n_number_0e.json b/test_parsing/n_number_0e.json
@@ -0,0 +1 @@
+[0e]
+\ No newline at end of file
diff --git a/test_parsing/n_number_1.0e+.json b/test_parsing/n_number_1.0e+.json
@@ -0,0 +1 @@
+[1.0e+]
+\ No newline at end of file
diff --git a/test_parsing/n_number_1.0e-.json b/test_parsing/n_number_1.0e-.json
@@ -0,0 +1 @@
+[1.0e-]
+\ No newline at end of file
diff --git a/test_parsing/n_number_1.0e.json b/test_parsing/n_number_1.0e.json
@@ -0,0 +1 @@
+[1.0e]
+\ No newline at end of file
diff --git a/test_parsing/n_number_1_000.json b/test_parsing/n_number_1_000.json
@@ -0,0 +1 @@
+[1 000.0]
+\ No newline at end of file
diff --git a/test_parsing/n_number_1eE2.json b/test_parsing/n_number_1eE2.json
@@ -0,0 +1 @@
+[1eE2]
+\ No newline at end of file
diff --git a/test_parsing/n_number_2.e+3.json b/test_parsing/n_number_2.e+3.json
@@ -0,0 +1 @@
+[2.e+3]
+\ No newline at end of file
diff --git a/test_parsing/n_number_2.e-3.json b/test_parsing/n_number_2.e-3.json
@@ -0,0 +1 @@
+[2.e-3]
+\ No newline at end of file
diff --git a/test_parsing/n_number_2.e3.json b/test_parsing/n_number_2.e3.json
@@ -0,0 +1 @@
+[2.e3]
+\ No newline at end of file
diff --git a/test_parsing/n_number_9.e+.json b/test_parsing/n_number_9.e+.json
@@ -0,0 +1 @@
+[9.e+]
+\ No newline at end of file
diff --git a/test_parsing/n_number_Inf.json b/test_parsing/n_number_Inf.json
@@ -0,0 +1 @@
+[Inf]
+\ No newline at end of file
diff --git a/test_parsing/n_number_NaN.json b/test_parsing/n_number_NaN.json
@@ -0,0 +1 @@
+[NaN]
+\ No newline at end of file
diff --git a/test_parsing/n_number_U+FF11_fullwidth_digit_one.json b/test_parsi…
@@ -0,0 +1 @@
+[1]
+\ No newline at end of file
diff --git a/test_parsing/n_number_expression.json b/test_parsing/n_number_expr…
@@ -0,0 +1 @@
+[1+2]
+\ No newline at end of file
diff --git a/test_parsing/n_number_hex_1_digit.json b/test_parsing/n_number_hex…
@@ -0,0 +1 @@
+[0x1]
+\ No newline at end of file
diff --git a/test_parsing/n_number_hex_2_digits.json b/test_parsing/n_number_he…
@@ -0,0 +1 @@
+[0x42]
+\ No newline at end of file
diff --git a/test_parsing/n_number_infinity.json b/test_parsing/n_number_infini…
@@ -0,0 +1 @@
+[Infinity]
+\ No newline at end of file
diff --git a/test_parsing/n_number_invalid+-.json b/test_parsing/n_number_inval…
@@ -0,0 +1 @@
+[0e+-1]
+\ No newline at end of file
diff --git a/test_parsing/n_number_invalid-negative-real.json b/test_parsing/n_…
@@ -0,0 +1 @@
+[-123.123foo]
+\ No newline at end of file
diff --git a/test_parsing/n_number_invalid-utf-8-in-bigger-int.json b/test_pars…
@@ -0,0 +1 @@
+[123�]
+\ No newline at end of file
diff --git a/test_parsing/n_number_invalid-utf-8-in-exponent.json b/test_parsin…
@@ -0,0 +1 @@
+[1e1�]
+\ No newline at end of file
diff --git a/test_parsing/n_number_invalid-utf-8-in-int.json b/test_parsing/n_n…
@@ -0,0 +1 @@
+[0�]
diff --git a/test_parsing/n_number_minus_infinity.json b/test_parsing/n_number_…
@@ -0,0 +1 @@
+[-Infinity]
+\ No newline at end of file
diff --git a/test_parsing/n_number_minus_sign_with_trailing_garbage.json b/test…
@@ -0,0 +1 @@
+[-foo]
+\ No newline at end of file
diff --git a/test_parsing/n_number_minus_space_1.json b/test_parsing/n_number_m…
@@ -0,0 +1 @@
+[- 1]
+\ No newline at end of file
diff --git a/test_parsing/n_number_neg_int_starting_with_zero.json b/test_parsi…
@@ -0,0 +1 @@
+[-012]
+\ No newline at end of file
diff --git a/test_parsing/n_number_neg_real_without_int_part.json b/test_parsin…
@@ -0,0 +1 @@
+[-.123]
+\ No newline at end of file
diff --git a/test_parsing/n_number_neg_with_garbage_at_end.json b/test_parsing/…
@@ -0,0 +1 @@
+[-1x]
+\ No newline at end of file
diff --git a/test_parsing/n_number_real_garbage_after_e.json b/test_parsing/n_n…
@@ -0,0 +1 @@
+[1ea]
+\ No newline at end of file
diff --git a/test_parsing/n_number_real_with_invalid_utf8_after_e.json b/test_p…
@@ -0,0 +1 @@
+[1e�]
+\ No newline at end of file
diff --git a/test_parsing/n_number_real_without_fractional_part.json b/test_par…
@@ -0,0 +1 @@
+[1.]
+\ No newline at end of file
diff --git a/test_parsing/n_number_starting_with_dot.json b/test_parsing/n_numb…
@@ -0,0 +1 @@
+[.123]
+\ No newline at end of file
diff --git a/test_parsing/n_number_with_alpha.json b/test_parsing/n_number_with…
@@ -0,0 +1 @@
+[1.2a-3]
+\ No newline at end of file
diff --git a/test_parsing/n_number_with_alpha_char.json b/test_parsing/n_number…
@@ -0,0 +1 @@
+[1.8011670033376514H-308]
+\ No newline at end of file
diff --git a/test_parsing/n_number_with_leading_zero.json b/test_parsing/n_numb…
@@ -0,0 +1 @@
+[012]
+\ No newline at end of file
diff --git a/test_parsing/n_object_bad_value.json b/test_parsing/n_object_bad_v…
@@ -0,0 +1 @@
+["x", truth]
+\ No newline at end of file
diff --git a/test_parsing/n_object_bracket_key.json b/test_parsing/n_object_bra…
@@ -0,0 +1 @@
+{[: "x"}
diff --git a/test_parsing/n_object_comma_instead_of_colon.json b/test_parsing/n…
@@ -0,0 +1 @@
+{"x", null}
+\ No newline at end of file
diff --git a/test_parsing/n_object_double_colon.json b/test_parsing/n_object_do…
@@ -0,0 +1 @@
+{"x"::"b"}
+\ No newline at end of file
diff --git a/test_parsing/n_object_emoji.json b/test_parsing/n_object_emoji.json
@@ -0,0 +1 @@
+{🇨🇭}
+\ No newline at end of file
diff --git a/test_parsing/n_object_garbage_at_end.json b/test_parsing/n_object_…
@@ -0,0 +1 @@
+{"a":"a" 123}
+\ No newline at end of file
diff --git a/test_parsing/n_object_key_with_single_quotes.json b/test_parsing/n…
@@ -0,0 +1 @@
+{key: 'value'}
+\ No newline at end of file
diff --git a/test_parsing/n_object_lone_continuation_byte_in_key_and_trailing_c…
@@ -0,0 +1 @@
+{"�":"0",}
+\ No newline at end of file
diff --git a/test_parsing/n_object_missing_colon.json b/test_parsing/n_object_m…
@@ -0,0 +1 @@
+{"a" b}
+\ No newline at end of file
diff --git a/test_parsing/n_object_missing_key.json b/test_parsing/n_object_mis…
@@ -0,0 +1 @@
+{:"b"}
+\ No newline at end of file
diff --git a/test_parsing/n_object_missing_semicolon.json b/test_parsing/n_obje…
@@ -0,0 +1 @@
+{"a" "b"}
+\ No newline at end of file
diff --git a/test_parsing/n_object_missing_value.json b/test_parsing/n_object_m…
@@ -0,0 +1 @@
+{"a":
+\ No newline at end of file
diff --git a/test_parsing/n_object_no-colon.json b/test_parsing/n_object_no-col…
@@ -0,0 +1 @@
+{"a"
+\ No newline at end of file
diff --git a/test_parsing/n_object_non_string_key.json b/test_parsing/n_object_…
@@ -0,0 +1 @@
+{1:1}
+\ No newline at end of file
diff --git a/test_parsing/n_object_non_string_key_but_huge_number_instead.json …
@@ -0,0 +1 @@
+{9999E9999:1}
+\ No newline at end of file
diff --git a/test_parsing/n_object_repeated_null_null.json b/test_parsing/n_obj…
@@ -0,0 +1 @@
+{null:null,null:null}
+\ No newline at end of file
diff --git a/test_parsing/n_object_several_trailing_commas.json b/test_parsing/…
@@ -0,0 +1 @@
+{"id":0,,,,,}
+\ No newline at end of file
diff --git a/test_parsing/n_object_single_quote.json b/test_parsing/n_object_si…
@@ -0,0 +1 @@
+{'a':0}
+\ No newline at end of file
diff --git a/test_parsing/n_object_trailing_comma.json b/test_parsing/n_object_…
@@ -0,0 +1 @@
+{"id":0,}
+\ No newline at end of file
diff --git a/test_parsing/n_object_trailing_comment.json b/test_parsing/n_objec…
@@ -0,0 +1 @@
+{"a":"b"}/**/
+\ No newline at end of file
diff --git a/test_parsing/n_object_trailing_comment_open.json b/test_parsing/n_…
@@ -0,0 +1 @@
+{"a":"b"}/**//
+\ No newline at end of file
diff --git a/test_parsing/n_object_trailing_comment_slash_open.json b/test_pars…
@@ -0,0 +1 @@
+{"a":"b"}//
+\ No newline at end of file
diff --git a/test_parsing/n_object_trailing_comment_slash_open_incomplete.json …
@@ -0,0 +1 @@
+{"a":"b"}/
+\ No newline at end of file
diff --git a/test_parsing/n_object_two_commas_in_a_row.json b/test_parsing/n_ob…
@@ -0,0 +1 @@
+{"a":"b",,"c":"d"}
+\ No newline at end of file
diff --git a/test_parsing/n_object_unquoted_key.json b/test_parsing/n_object_un…
@@ -0,0 +1 @@
+{a: "b"}
+\ No newline at end of file
diff --git a/test_parsing/n_object_unterminated-value.json b/test_parsing/n_obj…
@@ -0,0 +1 @@
+{"a":"a
+\ No newline at end of file
diff --git a/test_parsing/n_object_with_single_string.json b/test_parsing/n_obj…
@@ -0,0 +1 @@
+{ "foo" : "bar", "a" }
+\ No newline at end of file
diff --git a/test_parsing/n_object_with_trailing_garbage.json b/test_parsing/n_…
@@ -0,0 +1 @@
+{"a":"b"}#
+\ No newline at end of file
diff --git a/test_parsing/n_single_space.json b/test_parsing/n_single_space.json
@@ -0,0 +1 @@
+
+\ No newline at end of file
diff --git a/test_parsing/n_string_1_surrogate_then_escape.json b/test_parsing/…
@@ -0,0 +1 @@
+["\uD800\"]
+\ No newline at end of file
diff --git a/test_parsing/n_string_1_surrogate_then_escape_u.json b/test_parsin…
@@ -0,0 +1 @@
+["\uD800\u"]
+\ No newline at end of file
diff --git a/test_parsing/n_string_1_surrogate_then_escape_u1.json b/test_parsi…
@@ -0,0 +1 @@
+["\uD800\u1"]
+\ No newline at end of file
diff --git a/test_parsing/n_string_1_surrogate_then_escape_u1x.json b/test_pars…
@@ -0,0 +1 @@
+["\uD800\u1x"]
+\ No newline at end of file
diff --git a/test_parsing/n_string_accentuated_char_no_quotes.json b/test_parsi…
@@ -0,0 +1 @@
+[é]
+\ No newline at end of file
diff --git a/test_parsing/n_string_backslash_00.json b/test_parsing/n_string_ba…
Binary files differ.
diff --git a/test_parsing/n_string_escape_x.json b/test_parsing/n_string_escape…
@@ -0,0 +1 @@
+["\x00"]
+\ No newline at end of file
diff --git a/test_parsing/n_string_escaped_backslash_bad.json b/test_parsing/n_…
@@ -0,0 +1 @@
+["\\\"]
+\ No newline at end of file
diff --git a/test_parsing/n_string_escaped_ctrl_char_tab.json b/test_parsing/n_…
@@ -0,0 +1 @@
+["\ "]
+\ No newline at end of file
diff --git a/test_parsing/n_string_escaped_emoji.json b/test_parsing/n_string_e…
@@ -0,0 +1 @@
+["\🌀"]
+\ No newline at end of file
diff --git a/test_parsing/n_string_incomplete_escape.json b/test_parsing/n_stri…
@@ -0,0 +1 @@
+["\"]
+\ No newline at end of file
diff --git a/test_parsing/n_string_incomplete_escaped_character.json b/test_par…
@@ -0,0 +1 @@
+["\u00A"]
+\ No newline at end of file
diff --git a/test_parsing/n_string_incomplete_surrogate.json b/test_parsing/n_s…
@@ -0,0 +1 @@
+["\uD834\uDd"]
+\ No newline at end of file
diff --git a/test_parsing/n_string_incomplete_surrogate_escape_invalid.json b/t…
@@ -0,0 +1 @@
+["\uD800\uD800\x"]
+\ No newline at end of file
diff --git a/test_parsing/n_string_invalid-utf-8-in-escape.json b/test_parsing/…
@@ -0,0 +1 @@
+["\u�"]
+\ No newline at end of file
diff --git a/test_parsing/n_string_invalid_backslash_esc.json b/test_parsing/n_…
@@ -0,0 +1 @@
+["\a"]
+\ No newline at end of file
diff --git a/test_parsing/n_string_invalid_unicode_escape.json b/test_parsing/n…
@@ -0,0 +1 @@
+["\uqqqq"]
+\ No newline at end of file
diff --git a/test_parsing/n_string_invalid_utf8_after_escape.json b/test_parsin…
@@ -0,0 +1 @@
+["\�"]
+\ No newline at end of file
diff --git a/test_parsing/n_string_leading_uescaped_thinspace.json b/test_parsi…
@@ -0,0 +1 @@
+[\u0020"asd"]
+\ No newline at end of file
diff --git a/test_parsing/n_string_no_quotes_with_bad_escape.json b/test_parsin…
@@ -0,0 +1 @@
+[\n]
+\ No newline at end of file
diff --git a/test_parsing/n_string_single_doublequote.json b/test_parsing/n_str…
@@ -0,0 +1 @@
+"
+\ No newline at end of file
diff --git a/test_parsing/n_string_single_quote.json b/test_parsing/n_string_si…
@@ -0,0 +1 @@
+['single quote']
+\ No newline at end of file
diff --git a/test_parsing/n_string_single_string_no_double_quotes.json b/test_p…
@@ -0,0 +1 @@
+abc
+\ No newline at end of file
diff --git a/test_parsing/n_string_start_escape_unclosed.json b/test_parsing/n_…
@@ -0,0 +1 @@
+["\
+\ No newline at end of file
diff --git a/test_parsing/n_string_unescaped_crtl_char.json b/test_parsing/n_st…
Binary files differ.
diff --git a/test_parsing/n_string_unescaped_newline.json b/test_parsing/n_stri…
@@ -0,0 +1,2 @@
+["new
+line"]
+\ No newline at end of file
diff --git a/test_parsing/n_string_unescaped_tab.json b/test_parsing/n_string_u…
@@ -0,0 +1 @@
+[" "]
+\ No newline at end of file
diff --git a/test_parsing/n_string_unicode_CapitalU.json b/test_parsing/n_strin…
@@ -0,0 +1 @@
+"\UA66D"
+\ No newline at end of file
diff --git a/test_parsing/n_string_with_trailing_garbage.json b/test_parsing/n_…
@@ -0,0 +1 @@
+""x
+\ No newline at end of file
diff --git a/test_parsing/n_structure_100000_opening_arrays.json b/test_parsing…
@@ -0,0 +1 @@
+[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[…
+\ No newline at end of file
diff --git a/test_parsing/n_structure_U+2060_word_joined.json b/test_parsing/n_…
@@ -0,0 +1 @@
+[⁠]
+\ No newline at end of file
diff --git a/test_parsing/n_structure_UTF8_BOM_no_data.json b/test_parsing/n_st…
@@ -0,0 +1 @@
+
+\ No newline at end of file
diff --git a/test_parsing/n_structure_angle_bracket_..json b/test_parsing/n_str…
@@ -0,0 +1 @@
+<.>
+\ No newline at end of file
diff --git a/test_parsing/n_structure_angle_bracket_null.json b/test_parsing/n_…
@@ -0,0 +1 @@
+[<null>]
+\ No newline at end of file
diff --git a/test_parsing/n_structure_array_trailing_garbage.json b/test_parsin…
@@ -0,0 +1 @@
+[1]x
+\ No newline at end of file
diff --git a/test_parsing/n_structure_array_with_extra_array_close.json b/test_…
@@ -0,0 +1 @@
+[1]]
+\ No newline at end of file
diff --git a/test_parsing/n_structure_array_with_unclosed_string.json b/test_pa…
@@ -0,0 +1 @@
+["asd]
+\ No newline at end of file
diff --git a/test_parsing/n_structure_ascii-unicode-identifier.json b/test_pars…
@@ -0,0 +1 @@
+aå
+\ No newline at end of file
diff --git a/test_parsing/n_structure_capitalized_True.json b/test_parsing/n_st…
@@ -0,0 +1 @@
+[True]
+\ No newline at end of file
diff --git a/test_parsing/n_structure_close_unopened_array.json b/test_parsing/…
@@ -0,0 +1 @@
+1]
+\ No newline at end of file
diff --git a/test_parsing/n_structure_comma_instead_of_closing_brace.json b/tes…
@@ -0,0 +1 @@
+{"x": true,
+\ No newline at end of file
diff --git a/test_parsing/n_structure_double_array.json b/test_parsing/n_struct…
@@ -0,0 +1 @@
+[][]
+\ No newline at end of file
diff --git a/test_parsing/n_structure_end_array.json b/test_parsing/n_structure…
@@ -0,0 +1 @@
+]
+\ No newline at end of file
diff --git a/test_parsing/n_structure_incomplete_UTF8_BOM.json b/test_parsing/n…
@@ -0,0 +1 @@
+�{}
+\ No newline at end of file
diff --git a/test_parsing/n_structure_lone-invalid-utf-8.json b/test_parsing/n_…
@@ -0,0 +1 @@
+�
+\ No newline at end of file
diff --git a/test_parsing/n_structure_lone-open-bracket.json b/test_parsing/n_s…
@@ -0,0 +1 @@
+[
+\ No newline at end of file
diff --git a/test_parsing/n_structure_no_data.json b/test_parsing/n_structure_n…
diff --git a/test_parsing/n_structure_null-byte-outside-string.json b/test_pars…
Binary files differ.
diff --git a/test_parsing/n_structure_number_with_trailing_garbage.json b/test_…
@@ -0,0 +1 @@
+2@
+\ No newline at end of file
diff --git a/test_parsing/n_structure_object_followed_by_closing_object.json b/…
@@ -0,0 +1 @@
+{}}
+\ No newline at end of file
diff --git a/test_parsing/n_structure_object_unclosed_no_value.json b/test_pars…
@@ -0,0 +1 @@
+{"":
+\ No newline at end of file
diff --git a/test_parsing/n_structure_object_with_comment.json b/test_parsing/n…
@@ -0,0 +1 @@
+{"a":/*comment*/"b"}
+\ No newline at end of file
diff --git a/test_parsing/n_structure_object_with_trailing_garbage.json b/test_…
@@ -0,0 +1 @@
+{"a": true} "x"
+\ No newline at end of file
diff --git a/test_parsing/n_structure_open_array_apostrophe.json b/test_parsing…
@@ -0,0 +1 @@
+['
+\ No newline at end of file
diff --git a/test_parsing/n_structure_open_array_comma.json b/test_parsing/n_st…
@@ -0,0 +1 @@
+[,
+\ No newline at end of file
diff --git a/test_parsing/n_structure_open_array_object.json b/test_parsing/n_s…
@@ -0,0 +1 @@
+[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"…
diff --git a/test_parsing/n_structure_open_array_open_object.json b/test_parsin…
@@ -0,0 +1 @@
+[{
+\ No newline at end of file
diff --git a/test_parsing/n_structure_open_array_open_string.json b/test_parsin…
@@ -0,0 +1 @@
+["a
+\ No newline at end of file
diff --git a/test_parsing/n_structure_open_array_string.json b/test_parsing/n_s…
@@ -0,0 +1 @@
+["a"
+\ No newline at end of file
diff --git a/test_parsing/n_structure_open_object.json b/test_parsing/n_structu…
@@ -0,0 +1 @@
+{
+\ No newline at end of file
diff --git a/test_parsing/n_structure_open_object_close_array.json b/test_parsi…
@@ -0,0 +1 @@
+{]
+\ No newline at end of file
diff --git a/test_parsing/n_structure_open_object_comma.json b/test_parsing/n_s…
@@ -0,0 +1 @@
+{,
+\ No newline at end of file
diff --git a/test_parsing/n_structure_open_object_open_array.json b/test_parsin…
@@ -0,0 +1 @@
+{[
+\ No newline at end of file
diff --git a/test_parsing/n_structure_open_object_open_string.json b/test_parsi…
@@ -0,0 +1 @@
+{"a
+\ No newline at end of file
diff --git a/test_parsing/n_structure_open_object_string_with_apostrophes.json …
@@ -0,0 +1 @@
+{'a'
+\ No newline at end of file
diff --git a/test_parsing/n_structure_open_open.json b/test_parsing/n_structure…
@@ -0,0 +1 @@
+["\{["\{["\{["\{
+\ No newline at end of file
diff --git a/test_parsing/n_structure_single_eacute.json b/test_parsing/n_struc…
@@ -0,0 +1 @@
+�
+\ No newline at end of file
diff --git a/test_parsing/n_structure_single_star.json b/test_parsing/n_structu…
@@ -0,0 +1 @@
+*
+\ No newline at end of file
diff --git a/test_parsing/n_structure_trailing_#.json b/test_parsing/n_structur…
@@ -0,0 +1 @@
+{"a":"b"}#{}
+\ No newline at end of file
diff --git a/test_parsing/n_structure_uescaped_LF_before_string.json b/test_par…
@@ -0,0 +1 @@
+[\u000A""]
+\ No newline at end of file
diff --git a/test_parsing/n_structure_unclosed_array.json b/test_parsing/n_stru…
@@ -0,0 +1 @@
+[1
+\ No newline at end of file
diff --git a/test_parsing/n_structure_unclosed_array_partial_null.json b/test_p…
@@ -0,0 +1 @@
+[ false, nul
+\ No newline at end of file
diff --git a/test_parsing/n_structure_unclosed_array_unfinished_false.json b/te…
@@ -0,0 +1 @@
+[ true, fals
+\ No newline at end of file
diff --git a/test_parsing/n_structure_unclosed_array_unfinished_true.json b/tes…
@@ -0,0 +1 @@
+[ false, tru
+\ No newline at end of file
diff --git a/test_parsing/n_structure_unclosed_object.json b/test_parsing/n_str…
@@ -0,0 +1 @@
+{"asd":"asd"
+\ No newline at end of file
diff --git a/test_parsing/n_structure_unicode-identifier.json b/test_parsing/n_…
@@ -0,0 +1 @@
+å
+\ No newline at end of file
diff --git a/test_parsing/n_structure_whitespace_U+2060_word_joiner.json b/test…
@@ -0,0 +1 @@
+[⁠]
+\ No newline at end of file
diff --git a/test_parsing/n_structure_whitespace_formfeed.json b/test_parsing/n…
@@ -0,0 +1 @@
+[ ]
+\ No newline at end of file
diff --git a/test_parsing/y_array_arraysWithSpaces.json b/test_parsing/y_array_…
@@ -0,0 +1 @@
+[[] ]
+\ No newline at end of file
diff --git a/test_parsing/y_array_empty-string.json b/test_parsing/y_array_empt…
@@ -0,0 +1 @@
+[""]
+\ No newline at end of file
diff --git a/test_parsing/y_array_empty.json b/test_parsing/y_array_empty.json
@@ -0,0 +1 @@
+[]
+\ No newline at end of file
diff --git a/test_parsing/y_array_ending_with_newline.json b/test_parsing/y_arr…
@@ -0,0 +1 @@
+["a"]
+\ No newline at end of file
diff --git a/test_parsing/y_array_false.json b/test_parsing/y_array_false.json
@@ -0,0 +1 @@
+[false]
+\ No newline at end of file
diff --git a/test_parsing/y_array_heterogeneous.json b/test_parsing/y_array_het…
@@ -0,0 +1 @@
+[null, 1, "1", {}]
+\ No newline at end of file
diff --git a/test_parsing/y_array_null.json b/test_parsing/y_array_null.json
@@ -0,0 +1 @@
+[null]
+\ No newline at end of file
diff --git a/test_parsing/y_array_with_1_and_newline.json b/test_parsing/y_arra…
@@ -0,0 +1,2 @@
+[1
+]
+\ No newline at end of file
diff --git a/test_parsing/y_array_with_leading_space.json b/test_parsing/y_arra…
@@ -0,0 +1 @@
+ [1]
+\ No newline at end of file
diff --git a/test_parsing/y_array_with_several_null.json b/test_parsing/y_array…
@@ -0,0 +1 @@
+[1,null,null,null,2]
+\ No newline at end of file
diff --git a/test_parsing/y_array_with_trailing_space.json b/test_parsing/y_arr…
@@ -0,0 +1 @@
+[2]
+\ No newline at end of file
diff --git a/test_parsing/y_number.json b/test_parsing/y_number.json
@@ -0,0 +1 @@
+[123e65]
+\ No newline at end of file
diff --git a/test_parsing/y_number_0e+1.json b/test_parsing/y_number_0e+1.json
@@ -0,0 +1 @@
+[0e+1]
+\ No newline at end of file
diff --git a/test_parsing/y_number_0e1.json b/test_parsing/y_number_0e1.json
@@ -0,0 +1 @@
+[0e1]
+\ No newline at end of file
diff --git a/test_parsing/y_number_after_space.json b/test_parsing/y_number_aft…
@@ -0,0 +1 @@
+[ 4]
+\ No newline at end of file
diff --git a/test_parsing/y_number_double_close_to_zero.json b/test_parsing/y_n…
@@ -0,0 +1 @@
+[-0.00000000000000000000000000000000000000000000000000000000000000000000000000…
diff --git a/test_parsing/y_number_int_with_exp.json b/test_parsing/y_number_in…
@@ -0,0 +1 @@
+[20e1]
+\ No newline at end of file
diff --git a/test_parsing/y_number_minus_zero.json b/test_parsing/y_number_minu…
@@ -0,0 +1 @@
+[-0]
+\ No newline at end of file
diff --git a/test_parsing/y_number_negative_int.json b/test_parsing/y_number_ne…
@@ -0,0 +1 @@
+[-123]
+\ No newline at end of file
diff --git a/test_parsing/y_number_negative_one.json b/test_parsing/y_number_ne…
@@ -0,0 +1 @@
+[-1]
+\ No newline at end of file
diff --git a/test_parsing/y_number_negative_zero.json b/test_parsing/y_number_n…
@@ -0,0 +1 @@
+[-0]
+\ No newline at end of file
diff --git a/test_parsing/y_number_real_capital_e.json b/test_parsing/y_number_…
@@ -0,0 +1 @@
+[1E22]
+\ No newline at end of file
diff --git a/test_parsing/y_number_real_capital_e_neg_exp.json b/test_parsing/y…
@@ -0,0 +1 @@
+[1E-2]
+\ No newline at end of file
diff --git a/test_parsing/y_number_real_capital_e_pos_exp.json b/test_parsing/y…
@@ -0,0 +1 @@
+[1E+2]
+\ No newline at end of file
diff --git a/test_parsing/y_number_real_exponent.json b/test_parsing/y_number_r…
@@ -0,0 +1 @@
+[123e45]
+\ No newline at end of file
diff --git a/test_parsing/y_number_real_fraction_exponent.json b/test_parsing/y…
@@ -0,0 +1 @@
+[123.456e78]
+\ No newline at end of file
diff --git a/test_parsing/y_number_real_neg_exp.json b/test_parsing/y_number_re…
@@ -0,0 +1 @@
+[1e-2]
+\ No newline at end of file
diff --git a/test_parsing/y_number_real_pos_exponent.json b/test_parsing/y_numb…
@@ -0,0 +1 @@
+[1e+2]
+\ No newline at end of file
diff --git a/test_parsing/y_number_simple_int.json b/test_parsing/y_number_simp…
@@ -0,0 +1 @@
+[123]
+\ No newline at end of file
diff --git a/test_parsing/y_number_simple_real.json b/test_parsing/y_number_sim…
@@ -0,0 +1 @@
+[123.456789]
+\ No newline at end of file
diff --git a/test_parsing/y_object.json b/test_parsing/y_object.json
@@ -0,0 +1 @@
+{"asd":"sdf", "dfg":"fgh"}
+\ No newline at end of file
diff --git a/test_parsing/y_object_basic.json b/test_parsing/y_object_basic.json
@@ -0,0 +1 @@
+{"asd":"sdf"}
+\ No newline at end of file
diff --git a/test_parsing/y_object_duplicated_key.json b/test_parsing/y_object_…
@@ -0,0 +1 @@
+{"a":"b","a":"c"}
+\ No newline at end of file
diff --git a/test_parsing/y_object_duplicated_key_and_value.json b/test_parsing…
@@ -0,0 +1 @@
+{"a":"b","a":"b"}
+\ No newline at end of file
diff --git a/test_parsing/y_object_empty.json b/test_parsing/y_object_empty.json
@@ -0,0 +1 @@
+{}
+\ No newline at end of file
diff --git a/test_parsing/y_object_empty_key.json b/test_parsing/y_object_empty…
@@ -0,0 +1 @@
+{"":0}
+\ No newline at end of file
diff --git a/test_parsing/y_object_escaped_null_in_key.json b/test_parsing/y_ob…
@@ -0,0 +1 @@
+{"foo\u0000bar": 42}
+\ No newline at end of file
diff --git a/test_parsing/y_object_extreme_numbers.json b/test_parsing/y_object…
@@ -0,0 +1 @@
+{ "min": -1.0e+28, "max": 1.0e+28 }
+\ No newline at end of file
diff --git a/test_parsing/y_object_long_strings.json b/test_parsing/y_object_lo…
@@ -0,0 +1 @@
+{"x":[{"id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}], "id": "xxxxxxxxxxxx…
+\ No newline at end of file
diff --git a/test_parsing/y_object_simple.json b/test_parsing/y_object_simple.j…
@@ -0,0 +1 @@
+{"a":[]}
+\ No newline at end of file
diff --git a/test_parsing/y_object_string_unicode.json b/test_parsing/y_object_…
@@ -0,0 +1 @@
+{"title":"\u041f\u043e\u043b\u0442\u043e\u0440\u0430 \u0417\u0435\u043c\u043b\…
+\ No newline at end of file
diff --git a/test_parsing/y_object_with_newlines.json b/test_parsing/y_object_w…
@@ -0,0 +1,3 @@
+{
+"a": "b"
+}
+\ No newline at end of file
diff --git a/test_parsing/y_string_1_2_3_bytes_UTF-8_sequences.json b/test_pars…
@@ -0,0 +1 @@
+["\u0060\u012a\u12AB"]
+\ No newline at end of file
diff --git a/test_parsing/y_string_accepted_surrogate_pair.json b/test_parsing/…
@@ -0,0 +1 @@
+["\uD801\udc37"]
+\ No newline at end of file
diff --git a/test_parsing/y_string_accepted_surrogate_pairs.json b/test_parsing…
@@ -0,0 +1 @@
+["\ud83d\ude39\ud83d\udc8d"]
+\ No newline at end of file
diff --git a/test_parsing/y_string_allowed_escapes.json b/test_parsing/y_string…
@@ -0,0 +1 @@
+["\"\\\/\b\f\n\r\t"]
+\ No newline at end of file
diff --git a/test_parsing/y_string_backslash_and_u_escaped_zero.json b/test_par…
@@ -0,0 +1 @@
+["\\u0000"]
+\ No newline at end of file
diff --git a/test_parsing/y_string_backslash_doublequotes.json b/test_parsing/y…
@@ -0,0 +1 @@
+["\""]
+\ No newline at end of file
diff --git a/test_parsing/y_string_comments.json b/test_parsing/y_string_commen…
@@ -0,0 +1 @@
+["a/*b*/c/*d//e"]
+\ No newline at end of file
diff --git a/test_parsing/y_string_double_escape_a.json b/test_parsing/y_string…
@@ -0,0 +1 @@
+["\\a"]
+\ No newline at end of file
diff --git a/test_parsing/y_string_double_escape_n.json b/test_parsing/y_string…
@@ -0,0 +1 @@
+["\\n"]
+\ No newline at end of file
diff --git a/test_parsing/y_string_escaped_control_character.json b/test_parsin…
@@ -0,0 +1 @@
+["\u0012"]
+\ No newline at end of file
diff --git a/test_parsing/y_string_escaped_noncharacter.json b/test_parsing/y_s…
@@ -0,0 +1 @@
+["\uFFFF"]
+\ No newline at end of file
diff --git a/test_parsing/y_string_in_array.json b/test_parsing/y_string_in_arr…
@@ -0,0 +1 @@
+["asd"]
+\ No newline at end of file
diff --git a/test_parsing/y_string_in_array_with_leading_space.json b/test_pars…
@@ -0,0 +1 @@
+[ "asd"]
+\ No newline at end of file
diff --git a/test_parsing/y_string_last_surrogates_1_and_2.json b/test_parsing/…
@@ -0,0 +1 @@
+["\uDBFF\uDFFF"]
+\ No newline at end of file
diff --git a/test_parsing/y_string_nbsp_uescaped.json b/test_parsing/y_string_n…
@@ -0,0 +1 @@
+["new\u00A0line"]
+\ No newline at end of file
diff --git a/test_parsing/y_string_nonCharacterInUTF-8_U+10FFFF.json b/test_par…
@@ -0,0 +1 @@
+["􏿿"]
+\ No newline at end of file
diff --git a/test_parsing/y_string_nonCharacterInUTF-8_U+FFFF.json b/test_parsi…
@@ -0,0 +1 @@
+["￿"]
+\ No newline at end of file
diff --git a/test_parsing/y_string_null_escape.json b/test_parsing/y_string_nul…
@@ -0,0 +1 @@
+["\u0000"]
+\ No newline at end of file
diff --git a/test_parsing/y_string_one-byte-utf-8.json b/test_parsing/y_string_…
@@ -0,0 +1 @@
+["\u002c"]
+\ No newline at end of file
diff --git a/test_parsing/y_string_pi.json b/test_parsing/y_string_pi.json
@@ -0,0 +1 @@
+["π"]
+\ No newline at end of file
diff --git a/test_parsing/y_string_reservedCharacterInUTF-8_U+1BFFF.json b/test…
@@ -0,0 +1 @@
+["𛿿"]
+\ No newline at end of file
diff --git a/test_parsing/y_string_simple_ascii.json b/test_parsing/y_string_si…
@@ -0,0 +1 @@
+["asd "]
+\ No newline at end of file
diff --git a/test_parsing/y_string_space.json b/test_parsing/y_string_space.json
@@ -0,0 +1 @@
+" "
+\ No newline at end of file
diff --git a/test_parsing/y_string_surrogates_U+1D11E_MUSICAL_SYMBOL_G_CLEF.jso…
@@ -0,0 +1 @@
+["\uD834\uDd1e"]
+\ No newline at end of file
diff --git a/test_parsing/y_string_three-byte-utf-8.json b/test_parsing/y_strin…
@@ -0,0 +1 @@
+["\u0821"]
+\ No newline at end of file
diff --git a/test_parsing/y_string_two-byte-utf-8.json b/test_parsing/y_string_…
@@ -0,0 +1 @@
+["\u0123"]
+\ No newline at end of file
diff --git a/test_parsing/y_string_u+2028_line_sep.json b/test_parsing/y_string…
@@ -0,0 +1 @@
+["
"]
+\ No newline at end of file
diff --git a/test_parsing/y_string_u+2029_par_sep.json b/test_parsing/y_string_…
@@ -0,0 +1 @@
+["
"]
+\ No newline at end of file
diff --git a/test_parsing/y_string_uEscape.json b/test_parsing/y_string_uEscape…
@@ -0,0 +1 @@
+["\u0061\u30af\u30EA\u30b9"]
+\ No newline at end of file
diff --git a/test_parsing/y_string_uescaped_newline.json b/test_parsing/y_strin…
@@ -0,0 +1 @@
+["new\u000Aline"]
+\ No newline at end of file
diff --git a/test_parsing/y_string_unescaped_char_delete.json b/test_parsing/y_…
@@ -0,0 +1 @@
+[""]
+\ No newline at end of file
diff --git a/test_parsing/y_string_unicode.json b/test_parsing/y_string_unicode…
@@ -0,0 +1 @@
+["\uA66D"]
+\ No newline at end of file
diff --git a/test_parsing/y_string_unicodeEscapedBackslash.json b/test_parsing/…
@@ -0,0 +1 @@
+["\u005C"]
+\ No newline at end of file
diff --git a/test_parsing/y_string_unicode_2.json b/test_parsing/y_string_unico…
@@ -0,0 +1 @@
+["⍂㈴⍂"]
+\ No newline at end of file
diff --git a/test_parsing/y_string_unicode_U+10FFFE_nonchar.json b/test_parsing…
@@ -0,0 +1 @@
+["\uDBFF\uDFFE"]
+\ No newline at end of file
diff --git a/test_parsing/y_string_unicode_U+1FFFE_nonchar.json b/test_parsing/…
@@ -0,0 +1 @@
+["\uD83F\uDFFE"]
+\ No newline at end of file
diff --git a/test_parsing/y_string_unicode_U+200B_ZERO_WIDTH_SPACE.json b/test_…
@@ -0,0 +1 @@
+["\u200B"]
+\ No newline at end of file
diff --git a/test_parsing/y_string_unicode_U+2064_invisible_plus.json b/test_pa…
@@ -0,0 +1 @@
+["\u2064"]
+\ No newline at end of file
diff --git a/test_parsing/y_string_unicode_U+FDD0_nonchar.json b/test_parsing/y…
@@ -0,0 +1 @@
+["\uFDD0"]
+\ No newline at end of file
diff --git a/test_parsing/y_string_unicode_U+FFFE_nonchar.json b/test_parsing/y…
@@ -0,0 +1 @@
+["\uFFFE"]
+\ No newline at end of file
diff --git a/test_parsing/y_string_unicode_escaped_double_quote.json b/test_par…
@@ -0,0 +1 @@
+["\u0022"]
+\ No newline at end of file
diff --git a/test_parsing/y_string_utf8.json b/test_parsing/y_string_utf8.json
@@ -0,0 +1 @@
+["€𝄞"]
+\ No newline at end of file
diff --git a/test_parsing/y_string_with_del_character.json b/test_parsing/y_str…
@@ -0,0 +1 @@
+["aa"]
+\ No newline at end of file
diff --git a/test_parsing/y_structure_lonely_false.json b/test_parsing/y_struct…
@@ -0,0 +1 @@
+false
+\ No newline at end of file
diff --git a/test_parsing/y_structure_lonely_int.json b/test_parsing/y_structur…
@@ -0,0 +1 @@
+42
+\ No newline at end of file
diff --git a/test_parsing/y_structure_lonely_negative_real.json b/test_parsing/…
@@ -0,0 +1 @@
+-0.1
+\ No newline at end of file
diff --git a/test_parsing/y_structure_lonely_null.json b/test_parsing/y_structu…
@@ -0,0 +1 @@
+null
+\ No newline at end of file
diff --git a/test_parsing/y_structure_lonely_string.json b/test_parsing/y_struc…
@@ -0,0 +1 @@
+"asd"
+\ No newline at end of file
diff --git a/test_parsing/y_structure_lonely_true.json b/test_parsing/y_structu…
@@ -0,0 +1 @@
+true
+\ No newline at end of file
diff --git a/test_parsing/y_structure_string_empty.json b/test_parsing/y_struct…
@@ -0,0 +1 @@
+""
+\ No newline at end of file
diff --git a/test_parsing/y_structure_trailing_newline.json b/test_parsing/y_st…
@@ -0,0 +1 @@
+["a"]
diff --git a/test_parsing/y_structure_true_in_array.json b/test_parsing/y_struc…
@@ -0,0 +1 @@
+[true]
+\ No newline at end of file
diff --git a/test_parsing/y_structure_whitespace_array.json b/test_parsing/y_st…
@@ -0,0 +1 @@
+ []
+\ No newline at end of file
diff --git a/test_transform/number_-9223372036854775808.json b/test_transform/n…
@@ -0,0 +1 @@
+[-9223372036854775808]
diff --git a/test_transform/number_-9223372036854775809.json b/test_transform/n…
@@ -0,0 +1 @@
+[-9223372036854775809]
diff --git a/test_transform/number_1.0.json b/test_transform/number_1.0.json
@@ -0,0 +1 @@
+[1.0]
diff --git a/test_transform/number_1.000000000000000005.json b/test_transform/n…
@@ -0,0 +1 @@
+[1.000000000000000005]
diff --git a/test_transform/number_1000000000000000.json b/test_transform/numbe…
@@ -0,0 +1 @@
+[1000000000000000]
diff --git a/test_transform/number_10000000000000000999.json b/test_transform/n…
@@ -0,0 +1 @@
+[10000000000000000999]
diff --git a/test_transform/number_1e-999.json b/test_transform/number_1e-999.j…
@@ -0,0 +1 @@
+[1E-999]
diff --git a/test_transform/number_1e6.json b/test_transform/number_1e6.json
@@ -0,0 +1 @@
+[1E6]
diff --git a/test_transform/number_9223372036854775807.json b/test_transform/nu…
@@ -0,0 +1 @@
+[9223372036854775807]
diff --git a/test_transform/number_9223372036854775808.json b/test_transform/nu…
@@ -0,0 +1 @@
+[9223372036854775808]
diff --git a/test_transform/object_key_nfc_nfd.json b/test_transform/object_key…
@@ -0,0 +1 @@
+{"é":"NFC","é":"NFD"}
+\ No newline at end of file
diff --git a/test_transform/object_key_nfd_nfc.json b/test_transform/object_key…
@@ -0,0 +1 @@
+{"é":"NFD","é":"NFC"}
+\ No newline at end of file
diff --git a/test_transform/object_same_key_different_values.json b/test_transf…
@@ -0,0 +1 @@
+{"a":1,"a":2}
+\ No newline at end of file
diff --git a/test_transform/object_same_key_same_value.json b/test_transform/ob…
@@ -0,0 +1 @@
+{"a":1,"a":1}
+\ No newline at end of file
diff --git a/test_transform/object_same_key_unclear_values.json b/test_transfor…
@@ -0,0 +1 @@
+{"a":0, "a":-0}
diff --git a/test_transform/string_1_escaped_invalid_codepoint.json b/test_tran…
@@ -0,0 +1 @@
+["\uD800"]
+\ No newline at end of file
diff --git a/test_transform/string_1_invalid_codepoint.json b/test_transform/st…
@@ -0,0 +1 @@
+["�"]
+\ No newline at end of file
diff --git a/test_transform/string_2_escaped_invalid_codepoints.json b/test_tra…
@@ -0,0 +1 @@
+["\uD800\uD800"]
+\ No newline at end of file
diff --git a/test_transform/string_2_invalid_codepoints.json b/test_transform/s…
@@ -0,0 +1 @@
+["��"]
+\ No newline at end of file
diff --git a/test_transform/string_3_escaped_invalid_codepoints.json b/test_tra…
@@ -0,0 +1 @@
+["\uD800\uD800\uD800"]
+\ No newline at end of file
diff --git a/test_transform/string_3_invalid_codepoints.json b/test_transform/s…
@@ -0,0 +1 @@
+["���"]
+\ No newline at end of file
diff --git a/test_transform/string_with_escaped_NULL.json b/test_transform/stri…
@@ -0,0 +1 @@
+["A\u0000B"]
+\ No newline at end of file
You are viewing proxied material from codemadness.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.