| 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 |