1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
4 * Any copyright is dedicated to the Public Domain.
5 * http://creativecommons.org/licenses/publicdomain/
9 * In strict mode, the identifier bound by a 'catch' clause may not
10 * be 'eval' or 'arguments'.
12 assertEq(testLenientAndStrict('try{}catch(eval){}',
14 parseRaisesException(SyntaxError
)),
16 assertEq(testLenientAndStrict('try{}catch([eval]){}',
17 parseRaisesException(SyntaxError
),
18 parseRaisesException(SyntaxError
)),
20 assertEq(testLenientAndStrict('try{}catch({x:eval}){}',
21 parseRaisesException(SyntaxError
),
22 parseRaisesException(SyntaxError
)),
24 assertEq(testLenientAndStrict('try{}catch(arguments){}',
26 parseRaisesException(SyntaxError
)),
28 assertEq(testLenientAndStrict('try{}catch([arguments]){}',
29 parseRaisesException(SyntaxError
),
30 parseRaisesException(SyntaxError
)),
32 assertEq(testLenientAndStrict('try{}catch({x:arguments}){}',
33 parseRaisesException(SyntaxError
),
34 parseRaisesException(SyntaxError
)),
37 reportCompare(true, true);
39 var successfullyParsed
= true;