// Test that an overridden global on a RegExp object doesn't cause an infinite loop | |
// in String.match(). Instead it should eventually throw an Out of Memory exception. | |
// Skipping until the test doesn't timeout on the bots - <https://bugs.webkit.org/show_bug.cgi?id=157903> | |
//@ skip | |
class MyRegExp extends RegExp { | |
constructor(pattern) { | |
super(pattern, ""); | |
} | |
get global() { | |
return true; | |
} | |
}; | |
function test() | |
{ | |
let r = new MyRegExp("."); | |
return "abc".match(r); | |
} | |
try { | |
test(); | |
} catch(e) { | |
if (e.message != "Out of memory") | |
throw "Wrong error: " + e; | |
} |