| Index: test/mjsunit/harmony/proxies-integrity.js
|
| diff --git a/test/mjsunit/harmony/proxies-integrity.js b/test/mjsunit/harmony/proxies-integrity.js
|
| deleted file mode 100644
|
| index 9ed6005d6b2ffcbff5d24b57e83dc7605292b4a5..0000000000000000000000000000000000000000
|
| --- a/test/mjsunit/harmony/proxies-integrity.js
|
| +++ /dev/null
|
| @@ -1,213 +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: --harmony-proxies --harmony-reflect
|
| -
|
| -
|
| -
|
| -function toKey(x) {
|
| - if (typeof x === "symbol") return x;
|
| - return String(x);
|
| -}
|
| -
|
| -
|
| -const noconf = {configurable: false};
|
| -const noconf_nowrite = {configurable: false, writable: false};
|
| -
|
| -
|
| -var symbol = Symbol();
|
| -
|
| -
|
| -var log = [];
|
| -var logger = {};
|
| -var handler = new Proxy({}, logger);
|
| -
|
| -logger.get = function(t, trap, r) {
|
| - return function() {
|
| - log.push([trap, ...arguments]);
|
| - return Reflect[trap](...arguments);
|
| - }
|
| -};
|
| -
|
| -
|
| -(function Seal() {
|
| - var target = [];
|
| - var proxy = new Proxy(target, handler);
|
| - log.length = 0;
|
| -
|
| - target.wurst = 42;
|
| - target[0] = true;
|
| - Object.defineProperty(target, symbol, {get: undefined});
|
| -
|
| - Object.seal(proxy);
|
| - assertEquals(6, log.length)
|
| - for (var i in log) assertSame(target, log[i][1]);
|
| -
|
| - assertArrayEquals(
|
| - ["preventExtensions", target], log[0]);
|
| - assertArrayEquals(
|
| - ["ownKeys", target], log[1]);
|
| - assertArrayEquals(
|
| - ["defineProperty", target, toKey(0), noconf], log[2]);
|
| - assertArrayEquals(
|
| - ["defineProperty", target, toKey("length"), noconf], log[3]);
|
| - assertArrayEquals(
|
| - ["defineProperty", target, toKey("wurst"), noconf], log[4]);
|
| - assertArrayEquals(
|
| - ["defineProperty", target, toKey(symbol), noconf], log[5]);
|
| -})();
|
| -
|
| -
|
| -(function Freeze() {
|
| - var target = [];
|
| - var proxy = new Proxy(target, handler);
|
| - log.length = 0;
|
| -
|
| - target.wurst = 42;
|
| - target[0] = true;
|
| - Object.defineProperty(target, symbol, {get: undefined});
|
| -
|
| - Object.freeze(proxy);
|
| - assertEquals(10, log.length)
|
| - for (var i in log) assertSame(target, log[i][1]);
|
| -
|
| - assertArrayEquals(
|
| - ["preventExtensions", target], log[0]);
|
| - assertArrayEquals(
|
| - ["ownKeys", target], log[1]);
|
| - assertArrayEquals(
|
| - ["getOwnPropertyDescriptor", target, toKey(0)], log[2]);
|
| - assertArrayEquals(
|
| - ["defineProperty", target, toKey(0), noconf_nowrite], log[3]);
|
| - assertArrayEquals(
|
| - ["getOwnPropertyDescriptor", target, toKey("length")], log[4]);
|
| - assertArrayEquals(
|
| - ["defineProperty", target, toKey("length"), noconf_nowrite], log[5]);
|
| - assertArrayEquals(
|
| - ["getOwnPropertyDescriptor", target, toKey("wurst")], log[6]);
|
| - assertArrayEquals(
|
| - ["defineProperty", target, toKey("wurst"), noconf_nowrite], log[7]);
|
| - assertArrayEquals(
|
| - ["getOwnPropertyDescriptor", target, toKey(symbol)], log[8]);
|
| - assertArrayEquals(
|
| - ["defineProperty", target, toKey(symbol), noconf], log[9]);
|
| -})();
|
| -
|
| -
|
| -(function IsSealed() {
|
| - var target = [];
|
| - var proxy = new Proxy(target, handler);
|
| -
|
| - target.wurst = 42;
|
| - target[0] = true;
|
| - Object.defineProperty(target, symbol, {get: undefined});
|
| -
|
| - // Extensible.
|
| -
|
| - log.length = 0;
|
| -
|
| - Object.isSealed(proxy);
|
| - assertEquals(1, log.length)
|
| - for (var i in log) assertSame(target, log[i][1]);
|
| -
|
| - assertArrayEquals(
|
| - ["isExtensible", target], log[0]);
|
| -
|
| - // Not extensible but not sealed.
|
| -
|
| - log.length = 0;
|
| - Object.preventExtensions(target);
|
| -
|
| - Object.isSealed(proxy);
|
| - assertEquals(3, log.length)
|
| - for (var i in log) assertSame(target, log[i][1]);
|
| -
|
| - assertArrayEquals(
|
| - ["isExtensible", target], log[0]);
|
| - assertArrayEquals(
|
| - ["ownKeys", target], log[1]);
|
| - assertArrayEquals(
|
| - ["getOwnPropertyDescriptor", target, toKey(0)], log[2]);
|
| -
|
| - // Sealed.
|
| -
|
| - log.length = 0;
|
| - Object.seal(target);
|
| -
|
| - Object.isSealed(proxy);
|
| - assertEquals(6, log.length)
|
| - for (var i in log) assertSame(target, log[i][1]);
|
| -
|
| - assertArrayEquals(
|
| - ["isExtensible", target], log[0]);
|
| - assertArrayEquals(
|
| - ["ownKeys", target], log[1]);
|
| - assertArrayEquals(
|
| - ["getOwnPropertyDescriptor", target, toKey(0)], log[2]);
|
| - assertArrayEquals(
|
| - ["getOwnPropertyDescriptor", target, toKey("length")], log[3]);
|
| - assertArrayEquals(
|
| - ["getOwnPropertyDescriptor", target, toKey("wurst")], log[4]);
|
| - assertArrayEquals(
|
| - ["getOwnPropertyDescriptor", target, toKey(symbol)], log[5]);
|
| -})();
|
| -
|
| -
|
| -(function IsFrozen() {
|
| - var target = [];
|
| - var proxy = new Proxy(target, handler);
|
| -
|
| - target.wurst = 42;
|
| - target[0] = true;
|
| - Object.defineProperty(target, symbol, {get: undefined});
|
| -
|
| - // Extensible.
|
| -
|
| - log.length = 0;
|
| -
|
| - Object.isFrozen(proxy);
|
| - assertEquals(1, log.length)
|
| - for (var i in log) assertSame(target, log[i][1]);
|
| -
|
| - assertArrayEquals(
|
| - ["isExtensible", target], log[0]);
|
| -
|
| - // Not extensible but not frozen.
|
| -
|
| - log.length = 0;
|
| - Object.preventExtensions(target);
|
| -
|
| - Object.isFrozen(proxy);
|
| - assertEquals(3, log.length)
|
| - for (var i in log) assertSame(target, log[i][1]);
|
| -
|
| - assertArrayEquals(
|
| - ["isExtensible", target], log[0]);
|
| - assertArrayEquals(
|
| - ["ownKeys", target], log[1]);
|
| - assertArrayEquals(
|
| - ["getOwnPropertyDescriptor", target, toKey(0)], log[2]);
|
| -
|
| - // Frozen.
|
| -
|
| - log.length = 0;
|
| - Object.freeze(target);
|
| -
|
| - Object.isFrozen(proxy);
|
| - assertEquals(6, log.length)
|
| - for (var i in log) assertSame(target, log[i][1]);
|
| -
|
| - assertArrayEquals(
|
| - ["isExtensible", target], log[0]);
|
| - assertArrayEquals(
|
| - ["ownKeys", target], log[1]);
|
| - assertArrayEquals(
|
| - ["getOwnPropertyDescriptor", target, toKey(0)], log[2]);
|
| - assertArrayEquals(
|
| - ["getOwnPropertyDescriptor", target, toKey("length")], log[3]);
|
| - assertArrayEquals(
|
| - ["getOwnPropertyDescriptor", target, toKey("wurst")], log[4]);
|
| - assertArrayEquals(
|
| - ["getOwnPropertyDescriptor", target, toKey(symbol)], log[5]);
|
| -})();
|
|
|