summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/regexp_parse/MatchOnly.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/regexp_parse/MatchOnly.js')
-rw-r--r--js/src/jit-test/tests/regexp_parse/MatchOnly.js35
1 files changed, 35 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/regexp_parse/MatchOnly.js b/js/src/jit-test/tests/regexp_parse/MatchOnly.js
new file mode 100644
index 000000000..c2586dd0b
--- /dev/null
+++ b/js/src/jit-test/tests/regexp_parse/MatchOnly.js
@@ -0,0 +1,35 @@
+if (typeof parseRegExp === 'undefined')
+ quit();
+
+load(libdir + "regexp_parse.js");
+
+// Leading and trailing .* are ignored if match_only==true.
+
+test_match_only(".*abc", all_flags,
+ Atom("abc"));
+test_match_only("abc.*", all_flags,
+ Atom("abc"));
+
+test_match_only(".*?abc", no_unicode_flags,
+ Alternative([
+ Quantifier(0, kInfinity, "NON_GREEDY",
+ CharacterClass([
+ ["\u0000", "\u0009"],
+ ["\u000b", "\u000c"],
+ ["\u000e", "\u2027"],
+ ["\u202A", "\uFFFF"]
+ ])),
+ Atom("abc")
+ ]));
+test_match_only(".*?abc", unicode_flags,
+ Alternative([
+ Quantifier(0, kInfinity, "NON_GREEDY",
+ AllSurrogateAndCharacterClass([
+ ["\u0000", "\u0009"],
+ ["\u000b", "\u000c"],
+ ["\u000e", "\u2027"],
+ ["\u202A", "\uD7FF"],
+ ["\uE000", "\uFFFF"]
+ ])),
+ Atom("abc")
+ ]));