| function testRegExp(pattern, string, expectedMatch) { |
| const r = new RegExp(pattern); |
| const actualResult = r.exec(string); |
| if (expectedMatch === undefined) { |
| if (actualResult !== null) |
| throw("Expected " + r + ".exec(\"" + string + "\") to be null"); |
| } else { |
| if (actualResult === null || actualResult[0] !== expectedMatch) |
| throw("Expected " + r + ".exec(\"" + string + "\")[0] to be " + expectedMatch + "."); |
| } |
| } |
| |
| testRegExp("a{0,4294967295}", "a", "a"); |
| testRegExp("a{0,4294967296}", "a", "a"); |
| testRegExp("^a{0,4294967296}$", "a{0,4294967296}", undefined); |
| testRegExp("(?:a{0,340282366920}?){0,1}a", "aa", "aa"); |