OLD | NEW |
1 // Copyright 2009 the V8 project authors. All rights reserved. | 1 // Copyright 2009 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 21 matching lines...) Expand all Loading... |
32 assertEquals(["y", undefined], /(x)?y/.exec("y")); | 32 assertEquals(["y", undefined], /(x)?y/.exec("y")); |
33 assertEquals(["y", undefined], "y".match(/(x)?\1y/)); | 33 assertEquals(["y", undefined], "y".match(/(x)?\1y/)); |
34 assertEquals(["y", undefined], "y".match(/(x)?y/)); | 34 assertEquals(["y", undefined], "y".match(/(x)?y/)); |
35 assertEquals(["y"], "y".match(/(x)?\1y/g)); | 35 assertEquals(["y"], "y".match(/(x)?\1y/g)); |
36 assertEquals(["", undefined, ""], "y".split(/(x)?\1y/)); | 36 assertEquals(["", undefined, ""], "y".split(/(x)?\1y/)); |
37 assertEquals(["", undefined, ""], "y".split(/(x)?y/)); | 37 assertEquals(["", undefined, ""], "y".split(/(x)?y/)); |
38 assertEquals(0, "y".search(/(x)?\1y/)); | 38 assertEquals(0, "y".search(/(x)?\1y/)); |
39 assertEquals("z", "y".replace(/(x)?\1y/, "z")); | 39 assertEquals("z", "y".replace(/(x)?\1y/, "z")); |
40 assertEquals("", "y".replace(/(x)?y/, "$1")); | 40 assertEquals("", "y".replace(/(x)?y/, "$1")); |
41 assertEquals("undefined", "y".replace(/(x)?\1y/, | 41 assertEquals("undefined", "y".replace(/(x)?\1y/, |
42 function($0, $1){ | 42 function($0, $1){ |
43 return String($1); | 43 return String($1); |
44 })); | 44 })); |
45 assertEquals("undefined", "y".replace(/(x)?y/, | 45 assertEquals("undefined", "y".replace(/(x)?y/, |
46 function($0, $1){ | 46 function($0, $1){ |
47 return String($1); | 47 return String($1); |
48 })); | 48 })); |
49 assertEquals("undefined", "y".replace(/(x)?y/, | 49 assertEquals("undefined", "y".replace(/(x)?y/, |
50 function($0, $1){ | 50 function($0, $1){ |
51 return $1; | 51 return $1; |
52 })); | 52 })); |
53 | 53 |
54 // See https://bugzilla.mozilla.org/show_bug.cgi?id=476146 | 54 // See https://bugzilla.mozilla.org/show_bug.cgi?id=476146 |
55 assertEquals("bbc,b", /^(b+|a){1,2}?bc/.exec("bbc")); | 55 assertEquals(["bbc", "b"], /^(b+|a){1,2}?bc/.exec("bbc")); |
56 assertEquals("bbaa,a,,a", /((\3|b)\2(a)){2,}/.exec("bbaababbabaaaaabbaaaabba")); | 56 assertEquals(["bbaa", "a", "", "a"], |
| 57 /((\3|b)\2(a)){2,}/.exec("bbaababbabaaaaabbaaaabba")); |
57 | 58 |
OLD | NEW |