summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/built-ins/RegExp/dotall
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/test262/built-ins/RegExp/dotall')
-rw-r--r--js/src/tests/test262/built-ins/RegExp/dotall/browser.js0
-rw-r--r--js/src/tests/test262/built-ins/RegExp/dotall/shell.js0
-rw-r--r--js/src/tests/test262/built-ins/RegExp/dotall/with-dotall-unicode.js37
-rw-r--r--js/src/tests/test262/built-ins/RegExp/dotall/with-dotall.js37
-rw-r--r--js/src/tests/test262/built-ins/RegExp/dotall/without-dotall-unicode.js37
-rw-r--r--js/src/tests/test262/built-ins/RegExp/dotall/without-dotall.js37
6 files changed, 148 insertions, 0 deletions
diff --git a/js/src/tests/test262/built-ins/RegExp/dotall/browser.js b/js/src/tests/test262/built-ins/RegExp/dotall/browser.js
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/js/src/tests/test262/built-ins/RegExp/dotall/browser.js
diff --git a/js/src/tests/test262/built-ins/RegExp/dotall/shell.js b/js/src/tests/test262/built-ins/RegExp/dotall/shell.js
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/js/src/tests/test262/built-ins/RegExp/dotall/shell.js
diff --git a/js/src/tests/test262/built-ins/RegExp/dotall/with-dotall-unicode.js b/js/src/tests/test262/built-ins/RegExp/dotall/with-dotall-unicode.js
new file mode 100644
index 0000000000..f0d4995b2c
--- /dev/null
+++ b/js/src/tests/test262/built-ins/RegExp/dotall/with-dotall-unicode.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 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 [/^.$/su, /^.$/sum]) {
+ 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 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);
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);
diff --git a/js/src/tests/test262/built-ins/RegExp/dotall/without-dotall-unicode.js b/js/src/tests/test262/built-ins/RegExp/dotall/without-dotall-unicode.js
new file mode 100644
index 0000000000..d8b61272be
--- /dev/null
+++ b/js/src/tests/test262/built-ins/RegExp/dotall/without-dotall-unicode.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: Without the dotAll flag, . does not match newlines in 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: [u180e]
+---*/
+
+// The behavior is the same regardless of the m flag
+for (let re of [/^.$/u, /^.$/um]) {
+ 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 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);
diff --git a/js/src/tests/test262/built-ins/RegExp/dotall/without-dotall.js b/js/src/tests/test262/built-ins/RegExp/dotall/without-dotall.js
new file mode 100644
index 0000000000..6e27e8081e
--- /dev/null
+++ b/js/src/tests/test262/built-ins/RegExp/dotall/without-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: Without the dotAll flag, . does not match newlines
+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: [u180e]
+---*/
+
+// The behavior is the same regardless of the m flag
+for (let re of [/^.$/, /^.$/m]) {
+ 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 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);