summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/regexp_parse/Atom_IdentityEscape.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/regexp_parse/Atom_IdentityEscape.js')
-rw-r--r--js/src/jit-test/tests/regexp_parse/Atom_IdentityEscape.js55
1 files changed, 55 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/regexp_parse/Atom_IdentityEscape.js b/js/src/jit-test/tests/regexp_parse/Atom_IdentityEscape.js
new file mode 100644
index 000000000..aeb84526a
--- /dev/null
+++ b/js/src/jit-test/tests/regexp_parse/Atom_IdentityEscape.js
@@ -0,0 +1,55 @@
+if (typeof parseRegExp === 'undefined')
+ quit();
+
+load(libdir + "regexp_parse.js");
+
+// SyntaxCharacter
+
+test("\\^", all_flags,
+ Atom("^"));
+test("\\$", all_flags,
+ Atom("$"));
+test("\\\\", all_flags,
+ Atom("\\"));
+test("\\.", all_flags,
+ Atom("."));
+test("\\*", all_flags,
+ Atom("*"));
+test("\\+", all_flags,
+ Atom("+"));
+test("\\?", all_flags,
+ Atom("?"));
+test("\\(", all_flags,
+ Atom("("));
+test("\\)", all_flags,
+ Atom(")"));
+test("\\[", all_flags,
+ Atom("["));
+test("\\]", all_flags,
+ Atom("]"));
+test("\\{", all_flags,
+ Atom("{"));
+test("\\}", all_flags,
+ Atom("}"));
+test("\\|", all_flags,
+ Atom("|"));
+
+// Slash
+
+test("\\/", all_flags,
+ Atom("/"));
+
+// SourceCharacter
+
+test("\\P", no_unicode_flags,
+ Atom("P"));
+
+test("\\uX", no_unicode_flags,
+ Atom("uX"));
+
+test("\\u{0000}", no_unicode_flags,
+ Quantifier(0, 0, "GREEDY", Atom("u")));
+
+test("\\c_", no_unicode_flags,
+ Atom("\\c_"));
+