summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/annexB/language/literals/regexp/extended-pattern-char.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/test262/annexB/language/literals/regexp/extended-pattern-char.js')
-rw-r--r--js/src/tests/test262/annexB/language/literals/regexp/extended-pattern-char.js32
1 files changed, 32 insertions, 0 deletions
diff --git a/js/src/tests/test262/annexB/language/literals/regexp/extended-pattern-char.js b/js/src/tests/test262/annexB/language/literals/regexp/extended-pattern-char.js
new file mode 100644
index 0000000000..0624df6850
--- /dev/null
+++ b/js/src/tests/test262/annexB/language/literals/regexp/extended-pattern-char.js
@@ -0,0 +1,32 @@
+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-regular-expressions-patterns
+es6id: B.1.4
+description: Extended Pattern Characters (as distinct from Pattern Characters)
+info: |
+ ExtendedPatternCharacter ::
+ SourceCharacterbut not one of ^$.*+?()[|
+
+ The production ExtendedAtom::ExtendedPatternCharacter evaluates as follows:
+
+ 1. Let ch be the character represented by ExtendedPatternCharacter.
+ 2. Let A be a one-element CharSet containing the character ch.
+ 3. Call CharacterSetMatcher(A, false) and return its Matcher result.
+---*/
+
+var match;
+
+match = /]/.exec(' ]{}');
+assert.sameValue(match[0], ']');
+
+match = /{/.exec(' ]{}');
+assert.sameValue(match[0], '{');
+
+match = /}/.exec(' ]{}');
+assert.sameValue(match[0], '}');
+
+match = /x{o}x/.exec('x{o}x');
+assert.sameValue(match[0], 'x{o}x');
+
+reportCompare(0, 0);