Skip to content
Snippets Groups Projects
  • jugglinmike's avatar
    96c4e773
    Json whitespace (#724) · 96c4e773
    jugglinmike authored
    * Express JSON syntax tests with multiple assertions
    
    When written with a single assertion, this test verifies only that "one
    or more" of the Unicode points produces a SyntaxError. Re-factor the
    test so that parsing behavior for each code point can be tested in
    isolation.
    
    * Re-introduce assertion
    
    ECMAScript edition 2016 relies on the Unicode standard at version 8.0.0.
    As part of a larger effort to update Test262 accordingly, the assertion
    for the SyntaxError resulting from the use of the Mongolian Vowel
    Separator (U+180E) was removed. However, ECMA-401 (The JSON Data
    Interchange Format) continues to describe "insignificant whitespace" as
    follows:
    
    > Insignificant  whitespace  is  allowed  before  or  after  any  token.
    > The  whitespace  characters  are:  character  tabulation  (U+0009),
    > line  feed  (U+000A),  carriage  return (U+000D),  and  space
    > (U+0020)
    
    And because ECMA262 specifies step 2 of the `JSON.parse` algorithm as
    follows:
    
    > 2. Parse JText interpreted as UTF-16 encoded Unicode points (6.1.4) as
    >    a JSON text as specified in ECMA-404. Throw a SyntaxError exception
    >    if JText is not a valid JSON text as defined in that specification.
    
    ...the use of U+180E between JSON tokens should continue to produce a
    SyntaxError, regardless of ECMA262's updated Unicode standard.
    
    * fixup! Express JSON syntax tests with multiple assertions
    96c4e773
    History
    Json whitespace (#724)
    jugglinmike authored
    * Express JSON syntax tests with multiple assertions
    
    When written with a single assertion, this test verifies only that "one
    or more" of the Unicode points produces a SyntaxError. Re-factor the
    test so that parsing behavior for each code point can be tested in
    isolation.
    
    * Re-introduce assertion
    
    ECMAScript edition 2016 relies on the Unicode standard at version 8.0.0.
    As part of a larger effort to update Test262 accordingly, the assertion
    for the SyntaxError resulting from the use of the Mongolian Vowel
    Separator (U+180E) was removed. However, ECMA-401 (The JSON Data
    Interchange Format) continues to describe "insignificant whitespace" as
    follows:
    
    > Insignificant  whitespace  is  allowed  before  or  after  any  token.
    > The  whitespace  characters  are:  character  tabulation  (U+0009),
    > line  feed  (U+000A),  carriage  return (U+000D),  and  space
    > (U+0020)
    
    And because ECMA262 specifies step 2 of the `JSON.parse` algorithm as
    follows:
    
    > 2. Parse JText interpreted as UTF-16 encoded Unicode points (6.1.4) as
    >    a JSON text as specified in ECMA-404. Throw a SyntaxError exception
    >    if JText is not a valid JSON text as defined in that specification.
    
    ...the use of U+180E between JSON tokens should continue to produce a
    SyntaxError, regardless of ECMA262's updated Unicode standard.
    
    * fixup! Express JSON syntax tests with multiple assertions