Index: test/mjsunit/strong/functions.js |
diff --git a/test/mjsunit/strong/arguments.js b/test/mjsunit/strong/functions.js |
similarity index 64% |
rename from test/mjsunit/strong/arguments.js |
rename to test/mjsunit/strong/functions.js |
index b40b661ccf2243d565a42b3aa8567ddab3486536..4869ac6dfaef35befff01bac577b6bb57576936e 100644 |
--- a/test/mjsunit/strong/arguments.js |
+++ b/test/mjsunit/strong/functions.js |
@@ -4,6 +4,8 @@ |
// Flags: --strong-mode |
+'use strong'; |
+ |
(function NoArguments() { |
assertThrows("'use strong'; arguments", SyntaxError); |
assertThrows("'use strong'; function f() { arguments }", SyntaxError); |
@@ -14,3 +16,18 @@ |
assertThrows("'use strong'; function f(arguments) {}", SyntaxError); |
assertThrows("'use strong'; let f = (arguments) => {}", SyntaxError); |
})(); |
+ |
+function g() {} |
+ |
+(function LexicalFunctionBindings(global) { |
+ assertEquals('function', typeof g); |
+ assertEquals(undefined, global.g); |
+})(this); |
+ |
+(function ImmutableFunctionBindings() { |
+ function f() {} |
+ assertThrows(function(){ eval("g = 0") }, TypeError); |
+ assertThrows(function(){ eval("f = 0") }, TypeError); |
+ assertEquals('function', typeof g); |
+ assertEquals('function', typeof f); |
+})(); |