// 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 g 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+/g; 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(',') ); reportCompare(0, 0);