tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

value-string-escape-unicode.js (1798B)


      1 // Copyright (c) 2018 Ecma International.  All rights reserved.
      2 // This code is governed by the BSD license found in the LICENSE file.
      3 
      4 /*---
      5 esid: sec-quotejsonstring
      6 description: >
      7    JSON.stringify strings containing surrogate code units
      8 features: [well-formed-json-stringify]
      9 ---*/
     10 
     11 assert.sameValue(JSON.stringify("\uD834"), '"\\ud834"',
     12  'JSON.stringify("\\uD834")');
     13 assert.sameValue(JSON.stringify("\uDF06"), '"\\udf06"',
     14  'JSON.stringify("\\uDF06")');
     15 
     16 assert.sameValue(JSON.stringify("\uD834\uDF06"), '"𝌆"',
     17  'JSON.stringify("\\uD834\\uDF06")');
     18 assert.sameValue(JSON.stringify("\uD834\uD834\uDF06\uD834"), '"\\ud834𝌆\\ud834"',
     19  'JSON.stringify("\\uD834\\uD834\\uDF06\\uD834")');
     20 assert.sameValue(JSON.stringify("\uD834\uD834\uDF06\uDF06"), '"\\ud834𝌆\\udf06"',
     21  'JSON.stringify("\\uD834\\uD834\\uDF06\\uDF06")');
     22 assert.sameValue(JSON.stringify("\uDF06\uD834\uDF06\uD834"), '"\\udf06𝌆\\ud834"',
     23  'JSON.stringify("\\uDF06\\uD834\\uDF06\\uD834")');
     24 assert.sameValue(JSON.stringify("\uDF06\uD834\uDF06\uDF06"), '"\\udf06𝌆\\udf06"',
     25  'JSON.stringify("\\uDF06\\uD834\\uDF06\\uDF06")');
     26 
     27 assert.sameValue(JSON.stringify("\uDF06\uD834"), '"\\udf06\\ud834"',
     28  'JSON.stringify("\\uDF06\\uD834")');
     29 assert.sameValue(JSON.stringify("\uD834\uDF06\uD834\uD834"), '"𝌆\\ud834\\ud834"',
     30  'JSON.stringify("\\uD834\\uDF06\\uD834\\uD834")');
     31 assert.sameValue(JSON.stringify("\uD834\uDF06\uD834\uDF06"), '"𝌆𝌆"',
     32  'JSON.stringify("\\uD834\\uDF06\\uD834\\uDF06")');
     33 assert.sameValue(JSON.stringify("\uDF06\uDF06\uD834\uD834"), '"\\udf06\\udf06\\ud834\\ud834"',
     34  'JSON.stringify("\\uDF06\\uDF06\\uD834\\uD834")');
     35 assert.sameValue(JSON.stringify("\uDF06\uDF06\uD834\uDF06"), '"\\udf06\\udf06𝌆"',
     36  'JSON.stringify("\\uDF06\\uDF06\\uD834\\uDF06")');
     37 
     38 reportCompare(0, 0);