passed: reports end of UTF-8 stream
passed: returns correct codepoint and bytes read from UTF-8 stream
passed: returns correct codepoint and bytes read from UTF-8 stream
passed: returns correct codepoint and bytes read from UTF-8 stream
passed: returns correct codepoint and bytes read from UTF-8 stream
passed: returns correct codepoint and bytes read from UTF-8 stream
passed: returns correct codepoint and bytes read from UTF-8 stream
passed: returns correct codepoint and bytes read from UTF-8 stream
passed: returns correct codepoint and bytes read from UTF-8 stream
passed: returns correct codepoint and bytes read from UTF-8 stream
passed: returns correct codepoint and bytes read from UTF-8 stream
passed: rejects invalid UTF-8 sequence
passed: rejects invalid UTF-8 sequence
passed: rejects invalid UTF-8 sequence
passed: rejects invalid UTF-8 sequence
passed: rejects invalid UTF-8 sequence
passed: rejects invalid UTF-8 sequence
passed: rejects invalid UTF-8 sequence
passed: rejects invalid UTF-8 sequence
passed: rejects invalid UTF-8 sequence
passed: rejects invalid UTF-8 sequence
passed: rejects encoding surrogate and out-of-range codepoints
passed: passes UTF-8 encode decode roundtrip for all valid codepoints
passed: and there was no miscount
passed: properly recognizes Unicode space separators
passed: properly recognizes Unicode identifier start characters
passed: properly recognizes Unicode identifier continue characters
passed: properly recognizes digit characters
passed: properly recognizes hex digit characters
passed: and there was no off-by-one error in the test
passed: identifies null
passed: identifies boolean
passed: identifies number
passed: identifies string
passed: identifies array
passed: identifies object
passed: json5 null == json5 null
passed: json5 true == json5 true
passed: json5 true != json5 false
passed: json5 true == C++ true
passed: C++ true == json5 true
passed: json5 true != C++ false
passed: json5 null != C++ false
passed: json5 1.0 == json5 1.0
passed: json5 1.0 != json5 2.0
passed: json5 1.0 == C++ 1.0
passed: json5 1.0 != C++ 2.0
passed: json5 1.0 != C++ true
passed: json5 NaN != json5 NaN
passed: json5 NaN != C++ NaN
passed: json5 "abc" == json5 "abc"
passed: json5 "abc" != json5 "abcd"
passed: json5 "abc" == C++ string "abc"
passed: json5 "abc" == C++ const char* "abc"
passed: json5 "1.0" != json5 1.0 (sorry, JavaScript)
passed: json5 value{json5 array{1.0, "a"}} == json5 value{json5 array{1.0, "a"}}
passed: json5 value{json5 array{1.0, "a"}} != json5 value{json5 array{1.0, "b"}}
passed: json5 value{json5 array{1.0, "a"}} == json5 array{1.0, "a"}
passed: json5 array{1.0, "a"} == json5 array{1.0, "a"}
passed: json5 value{json5 object{a:1.0}} == json5 value{json5 object{a:1.0}}
passed: json5 value{json5 object{a:1.0}} != json5 value{json5 object{a:2.0}}
passed: json5 value{json5 object{a:1.0}} == json5 object{a:1.0}
passed: json5 object{a:1.0} == json5 object{a:1.0}
passed: parses empty objects
passed: parses double string property names
passed: parses single string property names
passed: parses unquoted property names
passed: parses special character property names
passed: parses unicode property names
passed: parses escaped property names
passed: preserves __proto__ property names
passed: parses multiple properties
passed: overwrites properties with same key
passed: parses nested objects
passed: parses empty arrays
passed: parses array values
passed: parses multiple array values
passed: parses nested arrays
passed: parses nulls
passed: parses true
passed: parses false
passed: parses leading zeroes
passed: parses integers
passed: parses signed numbers
passed: parses leading decimal points
passed: parses fractional numbers
passed: parses exponents
passed: parses hexadecimal numbers
passed: parses signed and unsigned Infinity
passed: parses NaN
passed: parses signed NaN
passed: parses 1
passed: parses +1.23e100
passed: parses bare hexadecimal number
passed: parses double quoted strings
passed: parses single quoted strings
passed: parses quotes in strings
passed: parses escaped characters
passed: parses line and paragraph separators ...
passed: ... with a warning
passed: parses single-line comments
passed: parses single-line comments at end of input
passed: parses multi-line comments
passed: parses whitespace
passed: throws on empty documents
passed: throws on documents with only comments
passed: throws on unclosed multiline comments
passed: throws on incomplete single line comments
passed: throws on unterminated multiline comment closings
passed: throws on invalid characters in values
passed: throws on invalid characters in identifier start escapes
passed: throws on invalid identifier start characters
passed: throws on invalid characters in identifier continue escapes
passed: throws on invalid identifier continue characters
passed: throws on invalid characters following a sign
passed: throws on invalid characters following a leading decimal point
passed: throws on invalid characters following an exponent indicator
passed: throws on invalid characters following an exponent sign
passed: throws on invalid characters following a hexadecimal indicator
passed: throws on invalid new lines in strings
passed: throws on unterminated strings
passed: throws on invalid identifier start characters in property names
passed: throws on invalid characters following a property name
passed: throws on invalid characters following a property value
passed: throws on invalid characters following an array value
passed: throws on invalid characters in literals
passed: throws on unterminated escapes
passed: throws on invalid first digits in hexadecimal escapes
passed: throws on invalid second digits in hexadecimal escapes
passed: throws on invalid unicode escapes
passed: throws on escaped digit 1
passed: throws on escaped digit 2
passed: throws on escaped digit 3
passed: throws on escaped digit 4
passed: throws on escaped digit 5
passed: throws on escaped digit 6
passed: throws on escaped digit 7
passed: throws on escaped digit 8
passed: throws on escaped digit 9
passed: throws on octal escape
passed: throws on multiple values
passed: throws with control characters escaped in the message
passed: throws on unclosed objects before property names
passed: throws on unclosed objects after property names
passed: throws on unclosed objects before property values
passed: throws on unclosed objects after property values
passed: throws on unclosed arrays before values
passed: throws on unclosed arrays after values
passed: throws on invalid unicode byte sequence
passed: throws on stringifying strings with invalid unicode byte sequence
passed: throws on stringifying keys starting with invalid unicode byte sequence
passed: throws on stringifying keys containing invalid unicode byte sequence
passed: stringifies empty objects
passed: stringifies unquoted property names
passed: stringifies single quoted string property names
passed: stringifies double quoted string property names
passed: stringifies empty string property names
passed: stringifies special character property names
passed: stringifies unicode property names
passed: stringifies escaped property names
passed: stringifies escaped null character property names
passed: stringifies multiple properties
passed: stringifies nested objects
passed: stringifies empty arrays
passed: stringifies array values
passed: stringifies multiple array values
passed: stringifies nested arrays
passed: stringifies nulls
passed: stringifies true
passed: stringifies false
passed: stringifies numbers
passed: stringifies non-finite numbers
passed: stringifies single quoted strings
passed: stringifies double quoted strings
failed: stringifies escaped characters
passed: stringifies escaped null characters
passed: stringifies escaped single quotes
passed: stringifies escaped double quotes
passed: stringifies escaped line and paragraph separators
passed: does not indent when no value is provided
passed: does not indent when 0 is provided
passed: does not indent when an empty string is provided
passed: indents n spaces when a number is provided
passed: does not indent more than 10 spaces when a number is provided
passed: does not indent when a negative number is provided
passed: indents with the string provided
passed: does not indent more than 10 characters of the string provided
passed: indents in arrays
passed: indents in nested arrays
passed: indents in objects
passed: indents in nested objects
passed: uses double quotes if provided
passed: uses single quotes if provided
passed tests: 192
failed tests: 1