Imported Upstream version 1.0.0
[platform/upstream/js.git] / js / src / tests / js1_8_1 / strict / let-block-eval-arguments.js
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2
3 /*
4  * Any copyright is dedicated to the Public Domain.
5  * http://creativecommons.org/licenses/publicdomain/
6  */
7
8 /* In strict mode, a 'let' block may not bind 'eval' or 'arguments'. */
9 assertEq(testLenientAndStrict('let (eval=1) {}',
10                               parsesSuccessfully,
11                               parseRaisesException(SyntaxError)),
12          true);
13 assertEq(testLenientAndStrict('let ([eval]=1) {}',
14                               parsesSuccessfully,
15                               parseRaisesException(SyntaxError)),
16          true);
17 assertEq(testLenientAndStrict('let ({x:eval}=1) {}',
18                               parsesSuccessfully,
19                               parseRaisesException(SyntaxError)),
20          true);
21 assertEq(testLenientAndStrict('let (arguments=1) {}',
22                               parsesSuccessfully,
23                               parseRaisesException(SyntaxError)),
24          true);
25 assertEq(testLenientAndStrict('let ([arguments]=1) {}',
26                               parsesSuccessfully,
27                               parseRaisesException(SyntaxError)),
28          true);
29 assertEq(testLenientAndStrict('let ({x:arguments}=1) {}',
30                               parsesSuccessfully,
31                               parseRaisesException(SyntaxError)),
32          true);
33
34 reportCompare(true, true);