summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/annexB/built-ins/RegExp/RegExp-trailing-escape-BMP.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/test262/annexB/built-ins/RegExp/RegExp-trailing-escape-BMP.js')
-rw-r--r--js/src/tests/test262/annexB/built-ins/RegExp/RegExp-trailing-escape-BMP.js31
1 files changed, 31 insertions, 0 deletions
diff --git a/js/src/tests/test262/annexB/built-ins/RegExp/RegExp-trailing-escape-BMP.js b/js/src/tests/test262/annexB/built-ins/RegExp/RegExp-trailing-escape-BMP.js
new file mode 100644
index 0000000000..76ad15761d
--- /dev/null
+++ b/js/src/tests/test262/annexB/built-ins/RegExp/RegExp-trailing-escape-BMP.js
@@ -0,0 +1,31 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+info: |
+ RegularExpressionChar :: BackslashSequence :: \NonTerminator,
+ RegularExpressionFlags :: [empty]
+es5id: 7.8.5_A2.4_T2
+es6id: 11.8.5
+description: Complex test with eval, using syntax pattern
+---*/
+
+for (var cu = 0; cu <= 0xffff; ++cu) {
+ var Elimination =
+ ((cu === 0x002A) || (cu === 0x002F) || (cu === 0x005C) || (cu === 0x002B) ||
+ (cu === 0x003F) || (cu === 0x0028) || (cu === 0x0029) ||
+ (cu === 0x005B) || (cu === 0x005D) || (cu === 0x007B) || (cu === 0x007D));
+ /*
+ * \u002A / \u002F \ \u005C + \u002B
+ ? \u003F ( \u0028 ) \u0029
+ [ \u005B ] \u005D { \u007B } \u007D
+ */
+ var LineTerminator = ((cu === 0x000A) || (cu === 0x000D) || (cu === 0x2028) || (cu === 0x2029));
+ if ((Elimination || LineTerminator ) === false) {
+ var xx = "a\\" + String.fromCharCode(cu);
+ var pattern = eval("/" + xx + "/");
+ assert.sameValue(pattern.source, xx, "Code unit: " + cu.toString(16));
+ }
+}
+
+reportCompare(0, 0);