u-surrogate-pairs-atom-escape-decimal.js (1081B)
1 // Copyright (C) 2016 the V8 project authors. All rights reserved. 2 // This code is governed by the BSD license found in the LICENSE file. 3 /*--- 4 esid: sec-atomescape 5 es6id: 21.2.2.9 6 description: > 7 Support for surrogate pairs within patterns match by the DecimalEscape 8 AtomEscape 9 info: | 10 The production AtomEscape :: DecimalEscape evaluates as follows: 11 12 [...] 13 3. Return an internal Matcher closure that takes two arguments, a State x and 14 a Continuation c, and performs the following steps: 15 [...] 16 h. If there exists an integer i between 0 (inclusive) and len (exclusive) 17 such that Canonicalize(s[i]) is not the same character value as 18 Canonicalize(Input[e+i]), return failure. 19 20 Runtime Semantics: CharacterSetMatcher Abstract Operation 21 22 1. Return an internal Matcher closure that takes two arguments, a State x and 23 a Continuation c, and performs the following steps when evaluated: 24 [...] 25 d. Let cc be Canonicalize(ch). 26 [...] 27 ---*/ 28 29 assert.sameValue(/(.+).*\1/u.test('\ud800\udc00\ud800'), false); 30 31 reportCompare(0, 0);