blob: 185e25dcb263b03c7b2f51e7fbd4d7b9632e5479 [file] [log] [blame]
// Copyright (C) 2018 Leo Balter. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
esid: prod-CharacterClassEscape
description: >
Compare range for whitespace class escape \s with flags ug
info: |
This is a generated test. Please check out
https://github.com/bocoup/test262-regexp-generator
for any changes.
CharacterClassEscape[U] ::
d
D
s
S
w
W
21.2.2.12 CharacterClassEscape
The production CharacterClassEscape :: d evaluates as follows:
Return the ten-element set of characters containing the characters 0 through 9 inclusive.
The production CharacterClassEscape :: D evaluates as follows:
Return the set of all characters not included in the set returned by CharacterClassEscape :: d.
The production CharacterClassEscape :: s evaluates as follows:
Return the set of characters containing the characters that are on the right-hand side of
the WhiteSpace or LineTerminator productions.
The production CharacterClassEscape :: S evaluates as follows:
Return the set of all characters not included in the set returned by CharacterClassEscape :: s.
The production CharacterClassEscape :: w evaluates as follows:
Return the set of all characters returned by WordCharacters().
The production CharacterClassEscape :: W evaluates as follows:
Return the set of all characters not included in the set returned by CharacterClassEscape :: w.
features: [String.fromCodePoint]
includes: [regExpUtils.js]
---*/
const str = buildString({
loneCodePoints: [
0x000020,
0x0000A0,
0x001680,
0x00202F,
0x00205F,
0x003000,
0x00FEFF,
],
ranges: [
[0x000009, 0x00000D],
[0x002000, 0x00200A],
[0x002028, 0x002029],
],
});
const re = /\s/ug;
const errors = [];
if (!re.test(str)) {
// Error, let's find out where
for (const char of str) {
if (!re.test(char)) {
errors.push('0x' + char.codePointAt(0).toString(16));
}
}
}
assert.sameValue(
errors.length,
0,
'Expected matching code points, but received: ' + errors.join(',')
);