description(
'Tests some regular expressions that used to overflow the regular expression compilation preflight computation.'
);

shouldBe('/(\\d)(\\1{1})/.exec("11").toString()', '"11,1,1"');

shouldBe('/^(\\d{1,2})([ -:\\/\\.]{1})(\\d{1,2})(\\2{1})?(\\d{2,4})?$/.exec("1:1").toString()', '"1:1,1,:,1,,"');

shouldBe('/^(\\d{4})([ -:\\/\\.]{1})(\\d{1,2})(\\2{1})(\\d{1,2})T(\\d{1,2})([ -:\\/\\.]{1})(\\d{1,2})(\\7{1})(\\d{1,2})Z$/.exec("1234:5:6T7/8/9Z").toString()',
    '"1234:5:6T7/8/9Z,1234,:,5,:,6,7,/,8,/,9"');

shouldBe('/\\[["\'\\s]{0,1}([\\w-]*)["\'\\s]{0,1}([\\W]{0,1}=){0,2}["\'\\s]{0,1}([\\w-]*)["\'\\s]{0,1}\\]$/.exec("[]").toString()',
    '"[],,,"');

shouldBe('/(x){0,2}/.exec("").toString()', '","');

shouldBe('/[\u00A1]{4,6}/.exec("\u00A1\u00A1\u00A1\u00A1").toString()', '"\u00A1\u00A1\u00A1\u00A1"');
shouldBe('/[\u00A1]{1,100}[\u00A1]{1,100}[\u00A1]{1,100}[\u00A1]{1,100}[\u00A1]{1,100}[\u00A1]{1,100}[\u00A1]{1,100}[\u00A1]{1,100}/.exec("\u00A1\u00A1\u00A1\u00A1\u00A1\u00A1\u00A1\u00A1").toString()', '"\u00A1\u00A1\u00A1\u00A1\u00A1\u00A1\u00A1\u00A1"');

shouldBe('/{([\\D\\-\\ca]]„£µ+?)}|[[\\B-\\u00d4]√π- ]]]{0,3}/i.exec("B√π- ]]").toString()', '"B√π- ]],"');
shouldBe('/|[x\\B-\\u00b5]/i.exec("").toString()', '""');

var complexPattern = "";
for (var i = 0; i < 18; ++i)
    complexPattern += "a?";
for (var i = 0; i < 18; ++i)
    complexPattern += "a";
complexPattern = "(" + complexPattern + ")";

var complexInput = "";
for (var i = 0; i < 18; ++i)
    complexInput += "a";

shouldBe('new RegExp(complexPattern).exec(complexInput)[0]', 'complexInput'); // Big but OK
// The analogous "too big" case is tested separately in
// regexp-overflow-too-big.html so engines that don't limit regexp execution
// time don't time out in this test. See
// https://bugs.webkit.org/show_bug.cgi?id=18327 .

var s = "a";
for (var i = 0; i < 21; i++)
    s += s;

shouldThrow('new RegExp(s);');

debug('');
