Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1471)

Unified Diff: test/mjsunit/harmony/proxies-bind.js

Issue 1815773002: Remove runtime flags for Proxy and Reflect (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Rebased Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « test/mjsunit/harmony/proxies-apply.js ('k') | test/mjsunit/harmony/proxies-construct.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: test/mjsunit/harmony/proxies-bind.js
diff --git a/test/mjsunit/harmony/proxies-bind.js b/test/mjsunit/harmony/proxies-bind.js
deleted file mode 100644
index 9e4c5b79c4add25144a48feb18b4f87b0176c455..0000000000000000000000000000000000000000
--- a/test/mjsunit/harmony/proxies-bind.js
+++ /dev/null
@@ -1,137 +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
-
-// Tests the interaction of Function.prototype.bind with proxies.
-
-
-// (Helper)
-
-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);
- }
-};
-
-
-// Simple case
-
-var target = function(a, b, c) { "use strict"; return this };
-var proxy = new Proxy(target, handler);
-var this_value = Symbol();
-
-log.length = 0;
-result = Function.prototype.bind.call(proxy, this_value, "foo");
-assertEquals(2, result.length);
-assertEquals(target.__proto__, result.__proto__);
-assertEquals(this_value, result());
-assertEquals(5, log.length);
-for (var i in log) assertSame(target, log[i][1]);
-assertEquals(["getPrototypeOf", target], log[0]);
-assertEquals(["getOwnPropertyDescriptor", target, "length"], log[1]);
-assertEquals(["get", target, "length", proxy], log[2]);
-assertEquals(["get", target, "name", proxy], log[3]);
-assertEquals(["apply", target, this_value, ["foo"]], log[4]);
-assertEquals(new target(), new result());
-
-
-// Custom prototype
-
-log.length = 0;
-target.__proto__ = {radio: "gaga"};
-result = Function.prototype.bind.call(proxy, this_value, "foo");
-assertEquals(2, result.length);
-assertSame(target.__proto__, result.__proto__);
-assertEquals(this_value, result());
-assertEquals(5, log.length);
-for (var i in log) assertSame(target, log[i][1]);
-assertEquals(["getPrototypeOf", target], log[0]);
-assertEquals(["getOwnPropertyDescriptor", target, "length"], log[1]);
-assertEquals(["get", target, "length", proxy], log[2]);
-assertEquals(["get", target, "name", proxy], log[3]);
-assertEquals(["apply", target, this_value, ["foo"]], log[4]);
-
-
-// Custom length
-
-handler = {
- get() {return 42},
- getOwnPropertyDescriptor() {return {configurable: true}}
-};
-proxy = new Proxy(target, handler);
-
-result = Function.prototype.bind.call(proxy, this_value, "foo");
-assertEquals(41, result.length);
-assertEquals(this_value, result());
-
-
-// Long length
-
-handler = {
- get() {return Math.pow(2, 100)},
- getOwnPropertyDescriptor() {return {configurable: true}}
-};
-proxy = new Proxy(target, handler);
-
-result = Function.prototype.bind.call(proxy, this_value, "foo");
-assertEquals(Math.pow(2, 100) - 1, result.length);
-assertEquals(this_value, result());
-
-
-// Very long length
-
-handler = {
- get() {return 1/0},
- getOwnPropertyDescriptor() {return {configurable: true}}
-};
-proxy = new Proxy(target, handler);
-
-result = Function.prototype.bind.call(proxy, this_value, "foo");
-assertEquals(1/0, result.length);
-assertEquals(this_value, result());
-
-
-// Non-integer length
-
-handler = {
- get() {return 4.2},
- getOwnPropertyDescriptor() {return {configurable: true}}
-};
-proxy = new Proxy(target, handler);
-
-result = Function.prototype.bind.call(proxy, this_value, "foo");
-assertEquals(3, result.length);
-assertEquals(this_value, result());
-
-
-// Undefined length
-
-handler = {
- get() {},
- getOwnPropertyDescriptor() {return {configurable: true}}
-};
-proxy = new Proxy(target, handler);
-
-result = Function.prototype.bind.call(proxy, this_value, "foo");
-assertEquals(0, result.length);
-assertEquals(this_value, result());
-
-
-// Non-callable
-
-assertThrows(() => Function.prototype.bind.call(new Proxy({}, {})), TypeError);
-assertThrows(() => Function.prototype.bind.call(new Proxy([], {})), TypeError);
-
-
-// Non-constructable
-
-result = Function.prototype.bind.call(() => 42, this_value, "foo");
-assertEquals(42, result());
-assertThrows(() => new result());
« no previous file with comments | « test/mjsunit/harmony/proxies-apply.js ('k') | test/mjsunit/harmony/proxies-construct.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698