Source code
Revision control
Copy as Markdown
Other Tools
// |jit-test| skip-if: !('interruptRegexp' in this)
gczeal(0);
let re = /(.........).*?\1/;
for (var i = 0; i < 10; i++) {
assertEq(re.test("abcdefghiabcdefghi"), true);
}
var s = "abcdefghi" + "abcdefgh".repeat(10) + "abcdefghi";
var interrupted = false;
setInterruptCallback(() => {
interrupted = true;
let re = /s(\s|.)*?e/
var s = "s" + "a ".repeat(25000) + "e";
assertEq(re.test(s), true);
return true;
});
let result = interruptRegexp(/(.........).*?\1/, s);
assertEq(result[0], s)
assertEq(result[1], "abcdefghi");
assertEq(interrupted, true);