6fc2783b54246f33a9e49d25cfd9fbea2eebb4c2
[WebKit-https.git] / LayoutTests / fast / js / resources / regexp-compile.js
1 description(
2 'Test RegExp.compile method.'
3 );
4
5 re = new RegExp("a", "i");
6 shouldBe("re.toString()", "'/a/i'");
7
8 re.compile("a");
9 shouldBe("re.multiline", "false");
10 shouldBe("re.ignoreCase", "false");
11 shouldBe("re.global", "false");
12 shouldBe("re.test('A')", "false");
13 shouldBe("re.toString()", "'/a/'");
14
15 re.compile("b", "g");
16 shouldBe("re.toString()", "'/b/g'");
17
18 re.compile(new RegExp("c"));
19 shouldBe("re.toString()", "'/c/'");
20
21 re.compile(new RegExp("c", "i"));
22 shouldBe("re.ignoreCase", "true");
23 shouldBe("re.test('C')", "true");
24 shouldBe("re.toString()", "'/c/i'");
25
26 shouldThrow("re.compile(new RegExp('c'), 'i');");
27
28 shouldThrow("re.compile(new RegExp('+'));");
29
30 re.compile(undefined);
31 shouldBe("re.toString()", "'/undefined/'");
32
33 re.compile(null);
34 shouldBe("re.toString()", "'/null/'");
35
36 re.compile();
37 shouldBe("re.toString()", "'//'"); // /(?:)/ in Firefox
38
39 re.compile("z", undefined);
40 shouldBe("re.toString()", "'/z/'");
41
42 var successfullyParsed = true;