Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(243)

Side by Side Diff: test/mjsunit/strong/functions.js

Issue 932283003: [strong] make function and class declarations lexical & immutable (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Adjusted assertion Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « test/mjsunit/strong/classes.js ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 the V8 project authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Flags: --strong-mode 5 // Flags: --strong-mode
6 6
7 'use strong';
8
7 (function NoArguments() { 9 (function NoArguments() {
8 assertThrows("'use strong'; arguments", SyntaxError); 10 assertThrows("'use strong'; arguments", SyntaxError);
9 assertThrows("'use strong'; function f() { arguments }", SyntaxError); 11 assertThrows("'use strong'; function f() { arguments }", SyntaxError);
10 assertThrows("'use strong'; let f = function() { arguments }", SyntaxError); 12 assertThrows("'use strong'; let f = function() { arguments }", SyntaxError);
11 assertThrows("'use strong'; let f = () => arguments", SyntaxError); 13 assertThrows("'use strong'; let f = () => arguments", SyntaxError);
12 // The following are strict mode errors already. 14 // The following are strict mode errors already.
13 assertThrows("'use strong'; let arguments", SyntaxError); 15 assertThrows("'use strong'; let arguments", SyntaxError);
14 assertThrows("'use strong'; function f(arguments) {}", SyntaxError); 16 assertThrows("'use strong'; function f(arguments) {}", SyntaxError);
15 assertThrows("'use strong'; let f = (arguments) => {}", SyntaxError); 17 assertThrows("'use strong'; let f = (arguments) => {}", SyntaxError);
16 })(); 18 })();
19
20 function g() {}
21
22 (function LexicalFunctionBindings(global) {
23 assertEquals('function', typeof g);
24 assertEquals(undefined, global.g);
25 })(this);
26
27 (function ImmutableFunctionBindings() {
28 function f() {}
29 assertThrows(function(){ eval("g = 0") }, TypeError);
30 assertThrows(function(){ eval("f = 0") }, TypeError);
31 assertEquals('function', typeof g);
32 assertEquals('function', typeof f);
33 })();
OLDNEW
« no previous file with comments | « test/mjsunit/strong/classes.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698