Index: test/mjsunit/strong/functions.js |
diff --git a/test/mjsunit/strong/functions.js b/test/mjsunit/strong/functions.js |
deleted file mode 100644 |
index a237270977d166f4eccc6141c26f9387c2f28196..0000000000000000000000000000000000000000 |
--- a/test/mjsunit/strong/functions.js |
+++ /dev/null |
@@ -1,87 +0,0 @@ |
-// Copyright 2015 the V8 project authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-// Flags: --strong-mode |
- |
-'use strong'; |
- |
-function f() {} |
-function* g() {} |
- |
-(function NoArguments() { |
- assertThrows("'use strong'; arguments", SyntaxError); |
- assertThrows("'use strong'; function f() { arguments }", SyntaxError); |
- assertThrows("'use strong'; function* g() { arguments }", SyntaxError); |
- assertThrows("'use strong'; let f = function() { arguments }", SyntaxError); |
- assertThrows("'use strong'; let g = function*() { arguments }", SyntaxError); |
- assertThrows("'use strong'; let f = () => arguments", SyntaxError); |
- // The following are strict mode errors already. |
- assertThrows("'use strong'; let arguments", SyntaxError); |
- assertThrows("'use strong'; function f(arguments) {}", SyntaxError); |
- assertThrows("'use strong'; function* g(arguments) {}", SyntaxError); |
- assertThrows("'use strong'; let f = (arguments) => {}", SyntaxError); |
-})(); |
- |
-(function NoArgumentsProperty() { |
- assertFalse(f.hasOwnProperty("arguments")); |
- assertFalse(g.hasOwnProperty("arguments")); |
- assertThrows(function(){ f.arguments = 0 }, TypeError); |
- assertThrows(function(){ g.arguments = 0 }, TypeError); |
-})(); |
- |
-(function NoCaller() { |
- assertFalse(f.hasOwnProperty("caller")); |
- assertFalse(g.hasOwnProperty("caller")); |
- assertThrows(function(){ f.caller = 0 }, TypeError); |
- assertThrows(function(){ g.caller = 0 }, TypeError); |
-})(); |
- |
-(function NoCallee() { |
- assertFalse("callee" in f); |
- assertFalse("callee" in g); |
- assertThrows(function(){ f.callee = 0 }, TypeError); |
- assertThrows(function(){ g.callee = 0 }, TypeError); |
-})(); |
- |
-(function LexicalBindings(global) { |
- assertEquals('function', typeof f); |
- assertEquals('function', typeof g); |
- assertFalse(global.hasOwnProperty("f")); |
- assertFalse(global.hasOwnProperty("g")); |
-})(this); |
- |
-(function ImmutableBindings() { |
- function f2() {} |
- function* g2() {} |
- assertThrows(function(){ f = 0 }, TypeError); |
- assertThrows(function(){ g = 0 }, TypeError); |
- assertThrows(function(){ f2 = 0 }, TypeError); |
- assertThrows(function(){ g2 = 0 }, TypeError); |
- assertEquals('function', typeof f); |
- assertEquals('function', typeof g); |
- assertEquals('function', typeof f2); |
- assertEquals('function', typeof g2); |
-})(); |
- |
-(function NonExtensible() { |
- assertThrows(function(){ f.a = 0 }, TypeError); |
- assertThrows(function(){ g.a = 0 }, TypeError); |
- assertThrows(function(){ Object.defineProperty(f, "a", {value: 0}) }, TypeError); |
- assertThrows(function(){ Object.defineProperty(g, "a", {value: 0}) }, TypeError); |
- assertThrows(function(){ Object.setPrototypeOf(f, {}) }, TypeError); |
- assertThrows(function(){ Object.setPrototypeOf(g, {}) }, TypeError); |
-})(); |
- |
-(function NoPrototype() { |
- assertFalse("prototype" in f); |
- assertFalse(g.hasOwnProperty("prototype")); |
- assertThrows(function(){ f.prototype = 0 }, TypeError); |
- assertThrows(function(){ g.prototype = 0 }, TypeError); |
- assertThrows(function(){ f.prototype.a = 0 }, TypeError); |
-})(); |
- |
-(function NonConstructor() { |
- assertThrows(function(){ new f }, TypeError); |
- assertThrows(function(){ new g }, TypeError); |
-})(); |