| 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);
|
| - }
|
| - }
|
| -})();
|
|
|