/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
//-----------------------------------------------------------------------------
var UBound = 0;
var BUGNUMBER = 188206;
var summary =
'Invalid use of regexp quantifiers should generate SyntaxErrors';
var TEST_PASSED =
'SyntaxError';
var TEST_FAILED =
'Generated an error, but NOT a SyntaxError!';
var TEST_FAILED_BADLY =
'Did not generate ANY error!!!';
var status =
'';
var statusitems = [];
var actual =
'';
var actualvalues = [];
var expect=
'';
var expectedvalues = [];
/*
* Now do some weird things on the left side of the regexps -
*/
status = inSection(7);
testThis(
' /*a/ ');
status = inSection(8);
testThis(
' /**a/ ');
//-----------------------------------------------------------------------------
test();
//-----------------------------------------------------------------------------
/*
* Invalid syntax should generate a SyntaxError
*/
function testThis(sInvalidSyntax)
{
expect = TEST_PASSED;
actual = TEST_FAILED_BADLY;
try
{
eval(sInvalidSyntax);
}
catch(e)
{
if (e
instanceof SyntaxError)
actual = TEST_PASSED;
else
actual = TEST_FAILED;
}
statusitems[UBound] = status;
expectedvalues[UBound] = expect;
actualvalues[UBound] = actual;
UBound++;
}
function test()
{
printBugNumber(BUGNUMBER);
printStatus(summary);
for (
var i=0; i<UBound; i++)
{
reportCompare(expectedvalues[i], actualvalues[i], statusitems[i]);
}
}