Index: test/mjsunit/strong/object-freeze-property.js |
diff --git a/test/mjsunit/strong/object-freeze-property.js b/test/mjsunit/strong/object-freeze-property.js |
deleted file mode 100644 |
index e76af1bfc60f12665c1009c3226bed71f078b85c..0000000000000000000000000000000000000000 |
--- a/test/mjsunit/strong/object-freeze-property.js |
+++ /dev/null |
@@ -1,75 +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 --allow-natives-syntax |
- |
-// TODO(conradw): Track implementation of strong bit for other objects, add |
-// tests. |
- |
-function getSloppyObjects() { |
- return [(function(){}), ({})]; |
-} |
- |
-function getStrictObjects() { |
- "use strict"; |
- return [(function(){}), ({})]; |
-} |
- |
-function getStrongObjects() { |
- "use strong"; |
- // Strong functions can't have properties added to them. |
- return [{}]; |
-} |
- |
-(function testStrongObjectFreezePropValid() { |
- "use strict"; |
- let strongObjects = getStrongObjects(); |
- |
- for (let o of strongObjects) { |
- Object.defineProperty(o, "foo", { configurable: true, writable: true }); |
- assertDoesNotThrow( |
- function() { |
- "use strong"; |
- Object.defineProperty(o, "foo", {configurable: true, writable: false }); |
- }); |
- } |
-})(); |
- |
-(function testStrongObjectFreezePropInvalid() { |
- "use strict"; |
- let sloppyObjects = getSloppyObjects(); |
- let strictObjects = getStrictObjects(); |
- let strongObjects = getStrongObjects(); |
- let weakObjects = sloppyObjects.concat(strictObjects); |
- |
- for (let o of weakObjects) { |
- Object.defineProperty(o, "foo", { writable: true }); |
- assertDoesNotThrow( |
- function() { |
- "use strong"; |
- Object.defineProperty(o, "foo", { writable: false }); |
- }); |
- } |
- for (let o of strongObjects) { |
- function defProp(o) { |
- Object.defineProperty(o, "foo", { writable: false }); |
- } |
- function defProps(o) { |
- Object.defineProperties(o, { "foo": { writable: false } }); |
- } |
- function freezeProp(o) { |
- Object.freeze(o); |
- } |
- Object.defineProperty(o, "foo", { writable: true }); |
- for (let func of [defProp, defProps, freezeProp]) { |
- assertThrows(function(){func(o)}, TypeError); |
- assertThrows(function(){func(o)}, TypeError); |
- assertThrows(function(){func(o)}, TypeError); |
- %OptimizeFunctionOnNextCall(func); |
- assertThrows(function(){func(o)}, TypeError); |
- %DeoptimizeFunction(func); |
- assertThrows(function(){func(o)}, TypeError); |
- } |
- } |
-})(); |