1 // Copyright 2015 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 // Flags: --strong-mode
9 (function NoArguments() {
10 assertThrows("'use strong'; arguments", SyntaxError);
11 assertThrows("'use strong'; function f() { arguments }", SyntaxError);
12 assertThrows("'use strong'; let f = function() { arguments }", SyntaxError);
13 assertThrows("'use strong'; let f = () => arguments", SyntaxError);
14 // The following are strict mode errors already.
15 assertThrows("'use strong'; let arguments", SyntaxError);
16 assertThrows("'use strong'; function f(arguments) {}", SyntaxError);
17 assertThrows("'use strong'; let f = (arguments) => {}", SyntaxError);
22 (function LexicalFunctionBindings(global) {
23 assertEquals('function', typeof g);
24 assertEquals(undefined, global.g);
27 (function ImmutableFunctionBindings() {
29 assertThrows(function(){ eval("g = 0") }, TypeError);
30 assertThrows(function(){ eval("f = 0") }, TypeError);
31 assertEquals('function', typeof g);
32 assertEquals('function', typeof f);