| Index: test/mjsunit/strong/class-object-frozen.js
|
| diff --git a/test/mjsunit/strong/class-object-frozen.js b/test/mjsunit/strong/class-object-frozen.js
|
| deleted file mode 100644
|
| index 2c442c0d5168258986211dd297b7ac05907b459f..0000000000000000000000000000000000000000
|
| --- a/test/mjsunit/strong/class-object-frozen.js
|
| +++ /dev/null
|
| @@ -1,98 +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 strict";
|
| -
|
| -function getClass() {
|
| - class Foo {
|
| - static get bar() { return 0 }
|
| - get bar() { return 0 }
|
| - }
|
| - return Foo;
|
| -}
|
| -
|
| -function getClassExpr() {
|
| - return (class { static get bar() { return 0 } get bar() { return 0 } });
|
| -}
|
| -
|
| -function getClassStrong() {
|
| - "use strong";
|
| - class Foo {
|
| - static get bar() { return 0 }
|
| - get bar() { return 0 }
|
| - }
|
| - return Foo;
|
| -}
|
| -
|
| -function getClassExprStrong() {
|
| - "use strong";
|
| - return (class { static get bar() { return 0 } get bar() { return 0 } });
|
| -}
|
| -
|
| -function addProperty(o) {
|
| - o.baz = 1;
|
| -}
|
| -
|
| -function convertPropertyToData(o) {
|
| - assertTrue(o.hasOwnProperty("bar"));
|
| - Object.defineProperty(o, "bar", { value: 1 });
|
| -}
|
| -
|
| -function testWeakClass(classFunc) {
|
| - assertDoesNotThrow(function(){addProperty(classFunc())});
|
| - assertDoesNotThrow(function(){addProperty(classFunc().prototype)});
|
| - assertDoesNotThrow(function(){convertPropertyToData(classFunc())});
|
| - assertDoesNotThrow(function(){convertPropertyToData(classFunc().prototype)});
|
| -}
|
| -
|
| -function testStrongClass(classFunc) {
|
| - assertThrows(function(){addProperty(classFunc())}, TypeError);
|
| - assertThrows(function(){addProperty(classFunc().prototype)}, TypeError);
|
| - assertThrows(function(){convertPropertyToData(classFunc())}, TypeError);
|
| - assertThrows(function(){convertPropertyToData(classFunc().prototype)},
|
| - TypeError);
|
| -}
|
| -
|
| -testWeakClass(getClass);
|
| -testWeakClass(getClassExpr);
|
| -
|
| -testStrongClass(getClassStrong);
|
| -testStrongClass(getClassExprStrong);
|
| -
|
| -// Check strong classes don't freeze their parents.
|
| -(function() {
|
| - let parent = getClass();
|
| -
|
| - let classFunc = function() {
|
| - "use strong";
|
| - class Foo extends parent {
|
| - static get bar() { return 0 }
|
| - get bar() { return 0 }
|
| - }
|
| - return Foo;
|
| - }
|
| -
|
| - testStrongClass(classFunc);
|
| - assertDoesNotThrow(function(){addProperty(parent)});
|
| - assertDoesNotThrow(function(){convertPropertyToData(parent)});
|
| -})();
|
| -
|
| -// Check strong classes don't freeze their children.
|
| -(function() {
|
| - let parent = getClassStrong();
|
| -
|
| - let classFunc = function() {
|
| - class Foo extends parent {
|
| - static get bar() { return 0 }
|
| - get bar() { return 0 }
|
| - }
|
| - return Foo;
|
| - }
|
| -
|
| - assertThrows(function(){addProperty(parent)}, TypeError);
|
| - assertThrows(function(){convertPropertyToData(parent)}, TypeError);
|
| - testWeakClass(classFunc);
|
| -})();
|
|
|