Name Description Size Coverage
15.12.1.1-0-1.js --- es5id: 15.12.1.1-0-1 description: The JSON lexical grammar treats whitespace as a token seperator --- 389 -
15.12.1.1-0-2.js --- es5id: 15.12.1.1-0-2 description: > <VT> is not valid JSON whitespace as specified by the production JSONWhitespace. --- 380 -
15.12.1.1-0-3.js --- es5id: 15.12.1.1-0-3 description: > <FF> is not valid JSON whitespace as specified by the production JSONWhitespace. --- 380 -
15.12.1.1-0-4.js --- es5id: 15.12.1.1-0-4 description: > <NBSP> is not valid JSON whitespace as specified by the production JSONWhitespace. --- 382 -
15.12.1.1-0-5.js --- es5id: 15.12.1.1-0-5 description: > <ZWSPP> is not valid JSON whitespace as specified by the production JSONWhitespace. --- 383 -
15.12.1.1-0-6.js --- es5id: 15.12.1.1-0-6 description: > <BOM> is not valid JSON whitespace as specified by the production JSONWhitespace. --- 382 -
15.12.1.1-0-8.js --- es5id: 15.12.1.1-0-8 description: > U+2028 and U+2029 are not valid JSON whitespace as specified by the production JSONWhitespace. --- 400 -
15.12.1.1-0-9.js --- es5id: 15.12.1.1-0-9 description: Whitespace characters can appear before/after any JSONtoken --- 477 -
15.12.1.1-g1-1.js --- es5id: 15.12.1.1-g1-1 description: The JSON lexical grammar treats <TAB> as a whitespace character --- 467 -
15.12.1.1-g1-2.js --- es5id: 15.12.1.1-g1-2 description: The JSON lexical grammar treats <CR> as a whitespace character --- 464 -
15.12.1.1-g1-3.js --- es5id: 15.12.1.1-g1-3 description: The JSON lexical grammar treats <LF> as a whitespace character --- 464 -
15.12.1.1-g1-4.js --- es5id: 15.12.1.1-g1-4 description: The JSON lexical grammar treats <SP> as a whitespace character --- 462 -
15.12.1.1-g2-1.js --- es5id: 15.12.1.1-g2-1 description: JSONStrings can be written using double quotes --- 302 -
15.12.1.1-g2-2.js --- es5id: 15.12.1.1-g2-2 description: A JSONString may not be delimited by single quotes --- 302 -
15.12.1.1-g2-3.js --- es5id: 15.12.1.1-g2-3 description: A JSONString may not be delimited by Uncode escaped quotes --- 322 -
15.12.1.1-g2-4.js --- es5id: 15.12.1.1-g2-4 description: A JSONString must both begin and end with double quotes --- 310 -
15.12.1.1-g2-5.js --- es5id: 15.12.1.1-g2-5 description: > A JSONStrings can contain no JSONStringCharacters (Empty JSONStrings) --- 326 -
15.12.1.1-g4-1.js --- es5id: 15.12.1.1-g4-1 description: > The JSON lexical grammar does not allow a JSONStringCharacter to be any of the Unicode characters U+0000 thru U+0007 --- 484 -
15.12.1.1-g4-2.js --- es5id: 15.12.1.1-g4-2 description: > The JSON lexical grammar does not allow a JSONStringCharacter to be any of the Unicode characters U+0008 thru U+000F --- 484 -
15.12.1.1-g4-3.js --- es5id: 15.12.1.1-g4-3 description: > The JSON lexical grammar does not allow a JSONStringCharacter to be any of the Unicode characters U+0010 thru U+0017 --- 484 -
15.12.1.1-g4-4.js --- es5id: 15.12.1.1-g4-4 description: > The JSON lexical grammar does not allow a JSONStringCharacter to be any of the Unicode characters U+0018 thru U+001F --- 484 -
15.12.1.1-g5-1.js --- es5id: 15.12.1.1-g5-1 description: > The JSON lexical grammar allows Unicode escape sequences in a JSONString --- 344 -
15.12.1.1-g5-2.js --- es5id: 15.12.1.1-g5-2 description: > A JSONStringCharacter UnicodeEscape may not have fewer than 4 hex characters --- 347 -
15.12.1.1-g5-3.js --- es5id: 15.12.1.1-g5-3 description: > A JSONStringCharacter UnicodeEscape may not include any non=hex characters --- 346 -
15.12.1.1-g6-1.js --- es5id: 15.12.1.1-g6-1 description: > The JSON lexical grammer allows '/' as a JSONEscapeCharacter after '' in a JSONString --- 349 -
15.12.1.1-g6-2.js --- es5id: 15.12.1.1-g6-2 description: > The JSON lexical grammer allows '' as a JSONEscapeCharacter after '' in a JSONString --- 351 -
15.12.1.1-g6-3.js --- es5id: 15.12.1.1-g6-3 description: > The JSON lexical grammer allows 'b' as a JSONEscapeCharacter after '' in a JSONString --- 350 -
15.12.1.1-g6-4.js --- es5id: 15.12.1.1-g6-4 description: > The JSON lexical grammer allows 'f' as a JSONEscapeCharacter after '' in a JSONString --- 350 -
15.12.1.1-g6-5.js --- es5id: 15.12.1.1-g6-5 description: > The JSON lexical grammer allows 'n' as a JSONEscapeCharacter after '' in a JSONString --- 350 -
15.12.1.1-g6-6.js --- es5id: 15.12.1.1-g6-6 description: > The JSON lexical grammer allows 'r' as a JSONEscapeCharacter after '' in a JSONString --- 350 -
15.12.1.1-g6-7.js --- es5id: 15.12.1.1-g6-7 description: > The JSON lexical grammer allows 't' as a JSONEscapeCharacter after '' in a JSONString --- 350 -
15.12.2-0-1.js --- info: | This test should be run without any built-ins being added/augmented. The name JSON must be bound to an object. Section 15 says that every built-in Function object described in this section � whether as a constructor, an ordinary function, or both � has a length property whose value is an integer. Unless otherwise specified, this value is equal to the largest number of named arguments shown in the section headings for the function description, including optional parameters. This default applies to JSON.parse, and it must exist as a function taking 2 parameters. es5id: 15.12.2-0-1 description: JSON.parse must exist as a function --- 911 -
15.12.2-0-2.js --- info: | This test should be run without any built-ins being added/augmented. The name JSON must be bound to an object. Section 15 says that every built-in Function object described in this section � whether as a constructor, an ordinary function, or both � has a length property whose value is an integer. Unless otherwise specified, this value is equal to the largest number of named arguments shown in the section headings for the function description, including optional parameters. This default applies to JSON.parse, and it must exist as a function taking 2 parameters. es5id: 15.12.2-0-2 description: JSON.parse must exist as a function taking 2 parameters --- 974 -
15.12.2-0-3.js --- info: | This test should be run without any built-ins being added/augmented. The initial value of [[Configurable]] on JSON is true. This means we should be able to delete (8.6.2.5) the stringify and parse properties. es5id: 15.12.2-0-3 description: JSON.parse must be deletable (configurable) --- 589 -
15.12.2-2-1.js --- es5id: 15.12.2-2-1 description: > JSON.parse - parsing an object where property name is a null character --- 1391 -
15.12.2-2-2.js --- es5id: 15.12.2-2-2 description: > JSON.parse - parsing an object where property name starts with a null character --- 1409 -
15.12.2-2-3.js --- es5id: 15.12.2-2-3 description: > JSON.parse - parsing an object where property name ends with a null character --- 1406 -
15.12.2-2-4.js --- es5id: 15.12.2-2-4 description: > JSON.parse - parsing an object where property name starts and ends with a null character --- 1436 -
15.12.2-2-5.js --- es5id: 15.12.2-2-5 description: > JSON.parse - parsing an object where property name middles with a null character --- 1415 -
15.12.2-2-6.js --- es5id: 15.12.2-2-6 description: > JSON.parse - parsing an object where property value is a null character --- 1392 -
15.12.2-2-7.js --- es5id: 15.12.2-2-7 description: > JSON.parse - parsing an object where property value starts with a null character --- 1410 -
15.12.2-2-8.js --- es5id: 15.12.2-2-8 description: > JSON.parse - parsing an object where property value ends with a null character --- 1408 -
15.12.2-2-9.js --- es5id: 15.12.2-2-9 description: > JSON.parse - parsing an object where property value starts and ends with a null character --- 1438 -
15.12.2-2-10.js --- es5id: 15.12.2-2-10 description: > JSON.parse - parsing an object where property value middles with a null character --- 1417 -
invalid-whitespace.js --- esid: sec-json.parse es6id: 24.3.1 es5id: 15.12.1.1-0-7 description: > other category z spaces are not valid JSON whitespace as specified by the production JSONWhitespace. --- 1624 -
name.js --- es6id: 24.3.1 description: > JSON.parse.name is "parse". info: | JSON.parse ( text [ , reviver ] ) 17 ECMAScript Standard Built-in Objects: Every built-in Function object, including constructors, that is not identified as an anonymous function has a name property whose value is a String. Unless otherwise specified, the name property of a built-in Function object, if it exists, has the attributes { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: true }. includes: [propertyHelper.js] --- 842 -
revived-proxy-revoked.js --- esid: sec-json.parse es6id: 24.3.1 description: Behavior when revived value is a revoked Proxy exotic object info: | [...] 7. If IsCallable(reviver) is true, then a. Let root be ObjectCreate(%ObjectPrototype%). b. Let rootName be the empty String. c. Let status be CreateDataProperty(root, rootName, unfiltered). d. Assert: status is true. e. Return ? InternalizeJSONProperty(root, rootName). 24.3.1.1 Runtime Semantics: InternalizeJSONProperty [...] 2. If Type(val) is Object, then a. Let isArray be ? IsArray(val). 7.2.2 IsArray [...] 3. If argument is a Proxy exotic object, then a. If the value of the [[ProxyHandler]] internal slot of argument is null, throw a TypeError exception. b. Let target be the value of the [[ProxyTarget]] internal slot of argument. c. Return ? IsArray(target). features: [Proxy] --- 1327 -
revived-proxy.js --- esid: sec-json.parse es6id: 24.3.1 description: Behavior when revived value is a Proxy exotic object info: | [...] 7. If IsCallable(reviver) is true, then a. Let root be ObjectCreate(%ObjectPrototype%). b. Let rootName be the empty String. c. Let status be CreateDataProperty(root, rootName, unfiltered). d. Assert: status is true. e. Return ? InternalizeJSONProperty(root, rootName). 24.3.1.1 Runtime Semantics: InternalizeJSONProperty [...] 2. If Type(val) is Object, then a. Let isArray be ? IsArray(val). b. If isArray is true, then [...] c. Else, [...] 7.2.2 IsArray [...] 3. If argument is a Proxy exotic object, then a. If the value of the [[ProxyHandler]] internal slot of argument is null, throw a TypeError exception. b. Let target be the value of the [[ProxyTarget]] internal slot of argument. c. Return ? IsArray(target). features: [Proxy] --- 2100 -
reviver-array-define-prop-err.js --- esid: sec-internalizejsonproperty es6id: 24.3.1.1 description: Abrupt completion from defining array property while reviving info: | JSON.parse ( text [ , reviver ] ) [...] 7. If IsCallable(reviver) is true, then [...] e. Return ? InternalizeJSONProperty(root, rootName). Runtime Semantics: InternalizeJSONProperty ( holder, name) 1. Let val be ? Get(holder, name). 2. If Type(val) is Object, then a. Let isArray be ? IsArray(val). b. If isArray is true, then i. Set I to 0. ii. Let len be ? ToLength(? Get(val, "length")). iii. Repeat while I < len, 1. Let newElement be ? InternalizeJSONProperty(val, ! ToString(I)). 2. If newElement is undefined, then [...] 3. Else, a. Perform ? CreateDataProperty(val, ! ToString(I), newElement). features: [Proxy] --- 1366 -
reviver-array-delete-err.js --- esid: sec-internalizejsonproperty es6id: 24.3.1.1 description: Abrupt completion from array property deletion while reviving info: | JSON.parse ( text [ , reviver ] ) [...] 7. If IsCallable(reviver) is true, then [...] e. Return ? InternalizeJSONProperty(root, rootName). Runtime Semantics: InternalizeJSONProperty ( holder, name) 1. Let val be ? Get(holder, name). 2. If Type(val) is Object, then a. Let isArray be ? IsArray(val). b. If isArray is true, then i. Set I to 0. ii. Let len be ? ToLength(? Get(val, "length")). iii. Repeat while I < len, 1. Let newElement be ? InternalizeJSONProperty(val, ! ToString(I)). 2. If newElement is undefined, then a. Perform ? val.[[Delete]](! ToString(I)). features: [Proxy] --- 1199 -
reviver-array-length-coerce-err.js --- esid: sec-internalizejsonproperty es6id: 24.3.1.1 description: > Abrupt completion from coercing array "length" property to a number value info: | JSON.parse ( text [ , reviver ] ) [...] 7. If IsCallable(reviver) is true, then [...] e. Return ? InternalizeJSONProperty(root, rootName). Runtime Semantics: InternalizeJSONProperty ( holder, name) 1. Let val be ? Get(holder, name). 2. If Type(val) is Object, then a. Let isArray be ? IsArray(val). b. If isArray is true, then i. Set I to 0. ii. Let len be ? ToLength(? Get(val, "length")). features: [Proxy] --- 1081 -
reviver-array-length-get-err.js --- esid: sec-internalizejsonproperty es6id: 24.3.1.1 description: > Abrupt completion from array "length" property access while reviving info: | JSON.parse ( text [ , reviver ] ) [...] 7. If IsCallable(reviver) is true, then [...] e. Return ? InternalizeJSONProperty(root, rootName). Runtime Semantics: InternalizeJSONProperty ( holder, name) 1. Let val be ? Get(holder, name). 2. If Type(val) is Object, then a. Let isArray be ? IsArray(val). b. If isArray is true, then i. Set I to 0. ii. Let len be ? ToLength(? Get(val, "length")). features: [Proxy] --- 1001 -
reviver-call-err.js --- esid: sec-internalizejsonproperty es6id: 24.3.1.1 description: > Abrupt completion when reviver function returns an abrupt completion info: | JSON.parse ( text [ , reviver ] ) [...] 7. If IsCallable(reviver) is true, then [...] e. Return ? InternalizeJSONProperty(root, rootName). Runtime Semantics: InternalizeJSONProperty ( holder, name) [...] 3. Return ? Call(reviver, holder, « name, val »). --- 688 -
reviver-get-name-err.js --- esid: sec-internalizejsonproperty es6id: 24.3.1.1 description: Abrupt completion from "holder" property access while reviving info: | JSON.parse ( text [ , reviver ] ) [...] 7. If IsCallable(reviver) is true, then [...] e. Return ? InternalizeJSONProperty(root, rootName). Runtime Semantics: InternalizeJSONProperty ( holder, name) 1. Let val be ? Get(holder, name). --- 752 -
reviver-object-define-prop-err.js --- esid: sec-internalizejsonproperty es6id: 24.3.1.1 description: Abrupt completion from defining object property while reviving info: | JSON.parse ( text [ , reviver ] ) [...] 7. If IsCallable(reviver) is true, then [...] e. Return ? InternalizeJSONProperty(root, rootName). Runtime Semantics: InternalizeJSONProperty ( holder, name) 1. Let val be ? Get(holder, name). 2. If Type(val) is Object, then a. Let isArray be ? IsArray(val). b. If isArray is true, then [...] c. Else, i. Let keys be ? EnumerableOwnProperties(val, "key"). ii. For each String P in keys do, 1. Let newElement be ? InternalizeJSONProperty(val, P). 2. If newElement is undefined, then [...] 3. Else, a. Perform ? CreateDataProperty(val, P, newElement). features: [Proxy] --- 1320 -
reviver-object-delete-err.js --- esid: sec-internalizejsonproperty es6id: 24.3.1.1 description: Abrupt completion from object property deletion while reviving info: | JSON.parse ( text [ , reviver ] ) [...] 7. If IsCallable(reviver) is true, then [...] e. Return ? InternalizeJSONProperty(root, rootName). Runtime Semantics: InternalizeJSONProperty ( holder, name) 1. Let val be ? Get(holder, name). 2. If Type(val) is Object, then a. Let isArray be ? IsArray(val). b. If isArray is true, then [...] c. Else, i. Let keys be ? EnumerableOwnProperties(val, "key"). ii. For each String P in keys do, 1. Let newElement be ? InternalizeJSONProperty(val, P). 2. If newElement is undefined, then a. Perform ? val.[[Delete]](P). features: [Proxy] --- 1181 -
reviver-object-own-keys-err.js --- esid: sec-internalizejsonproperty es6id: 24.3.1.1 description: Abrupt completion from object property enumeration while reviving info: | JSON.parse ( text [ , reviver ] ) [...] 7. If IsCallable(reviver) is true, then [...] e. Return ? InternalizeJSONProperty(root, rootName). Runtime Semantics: InternalizeJSONProperty ( holder, name) 1. Let val be ? Get(holder, name). 2. If Type(val) is Object, then a. Let isArray be ? IsArray(val). b. If isArray is true, then [...] c. Else, i. Let keys be ? EnumerableOwnProperties(val, "key"). features: [Proxy] --- 960 -
S15.12.2_A1.js --- info: JSON.parse must create a property with the given property name es5id: 15.12.2_A1 description: Tests that JSON.parse treats "__proto__" as a regular property name --- 572 -