summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/built-ins/RegExp/dotall/with-dotall.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/test262/built-ins/RegExp/dotall/with-dotall.js')
-rw-r--r--js/src/tests/test262/built-ins/RegExp/dotall/with-dotall.js37
1 files changed, 37 insertions, 0 deletions
diff --git a/js/src/tests/test262/built-ins/RegExp/dotall/with-dotall.js b/js/src/tests/test262/built-ins/RegExp/dotall/with-dotall.js
new file mode 100644
index 0000000000..d56fc6f3a4
--- /dev/null
+++ b/js/src/tests/test262/built-ins/RegExp/dotall/with-dotall.js
@@ -0,0 +1,37 @@
+// Copyright 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+description: Test the characters included by . in dotAll and non-unicode mode
+info: |
+ 21.2.2.8 Atom
+ The production Atom::. evaluates as follows:
+ 1. If DotAll is true, then
+ a. Let A be the set of all characters.
+ 2. Otherwise, let A be the set of all characters except LineTerminator.
+ 3. Call CharacterSetMatcher(A, false) and return its Matcher result.
+
+esid: sec-atom
+features: [regexp-dotall, u180e]
+---*/
+
+// The behavior is the same regardless of the m flag
+for (let re of [/^.$/s, /^.$/sm]) {
+ assert(re.test("a"));
+ assert(re.test("3"));
+ assert(re.test("π"));
+ assert(re.test("\u2027"));
+ assert(re.test("\u0085"));
+ assert(re.test("\v"));
+ assert(re.test("\f"));
+ assert(re.test("\u180E"));
+ assert(!re.test("\u{10300}"), "Supplementary plane not matched by a single .");
+ assert(re.test("\n"));
+ assert(re.test("\r"));
+ assert(re.test("\u2028"));
+ assert(re.test("\u2029"));
+ assert(re.test("\uD800"));
+ assert(re.test("\uDFFF"));
+}
+
+reportCompare(0, 0);