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";
function test() {
let result = interruptRegexp(/(.........).*?\1/, s);
assertEq(result[0], s)
assertEq(result[1], "abcdefghi");
}
let interruptCount = 0;
const TargetInterruptCount = 5;
setInterruptCallback(() => {
interruptCount++;
if (interruptCount < TargetInterruptCount) {
test();
}
return true;
});
test();
assertEq(interruptCount, TargetInterruptCount);