Source code

Revision control

Copy as Markdown

Other Tools

// Copyright 2018 Leonardo Balter. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
esid: sec-characterclassescape
description: Detect non WhiteSpace using \S+
info: |
The production CharacterClassEscape :: S evaluates by returning
the set of all characters not included in the set returned by
CharacterClassEscape :: s
---*/
var j;
var i;
var str;
var res;
var whitespaceChars = [
0x0009,
0x000A,
0x000B,
0x000C,
0x000D,
0x0020,
0x00A0,
0x1680,
0x2000,
0x2001,
0x2002,
0x2003,
0x2004,
0x2005,
0x2006,
0x2007,
0x2008,
0x2009,
0x200A,
0x2028,
0x2029,
0x202F,
0x205F,
0x3000,
];
for (j = 0x0000; j < 0x10000; j++) {
if (j === 0x180E) { continue; } // Skip 0x180E, current test in a separate file
if (j === 0xFEFF) { continue; } // Ignore BOM
str = String.fromCharCode(j);
res = str.replace(/\S+/g, "test262");
if (whitespaceChars.indexOf(j) >= 0) {
assert.sameValue(res, str, "WhiteSpace character, charCode: " + j);
} else {
assert.sameValue(res, "test262", "Non WhiteSpace character, charCode: " + j);
}
}
reportCompare(0, 0);