diff options
author | Michaƫl Zasso <mic.besace@gmail.com> | 2015-07-27 08:43:54 +0200 |
---|---|---|
committer | Rod Vagg <rod@vagg.org> | 2015-08-04 11:56:17 -0700 |
commit | 3d3c687012be3304f7951e47eec103478c7ec366 (patch) | |
tree | c53cca04915f5eaa3fb77de5566f9854bf0f74f7 /deps/v8/test/mjsunit/es6 | |
parent | 2965442308ea72e76f2b982d0c1ee74304676d5a (diff) | |
download | android-node-v8-3d3c687012be3304f7951e47eec103478c7ec366.tar.gz android-node-v8-3d3c687012be3304f7951e47eec103478c7ec366.tar.bz2 android-node-v8-3d3c687012be3304f7951e47eec103478c7ec366.zip |
deps: update V8 to 4.4.63.26
Includes cherry-picks for:
* JitCodeEvent patch: https://crrev.com/f7969b1d5a55e66237221a463daf422ac7611788
* argparse patch: https://crrev.com/44bc918458481d60b08d5566f0f31a79e39b85d7
PR-URL: https://github.com/nodejs/io.js/pull/2220
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
Diffstat (limited to 'deps/v8/test/mjsunit/es6')
-rw-r--r-- | deps/v8/test/mjsunit/es6/regress/regress-cr493566.js | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/deps/v8/test/mjsunit/es6/regress/regress-cr493566.js b/deps/v8/test/mjsunit/es6/regress/regress-cr493566.js new file mode 100644 index 0000000000..9bb313ffbe --- /dev/null +++ b/deps/v8/test/mjsunit/es6/regress/regress-cr493566.js @@ -0,0 +1,80 @@ +// 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 + +"use strict"; + + +var global = this; + + +(function TestGlobalReceiver() { + class A { + s() { + super.bla = 10; + } + } + new A().s.call(global); + assertEquals(10, global.bla); +})(); + + +(function TestProxyProto() { + var calls = 0; + var handler = { + getPropertyDescriptor: function(name) { + calls++; + return undefined; + } + }; + + var proto = {}; + var proxy = Proxy.create(handler, proto); + var object = { + __proto__: proxy, + setX(v) { + super.x = v; + }, + setSymbol(sym, v) { + super[sym] = v; + } + }; + + object.setX(1); + assertEquals(1, Object.getOwnPropertyDescriptor(object, 'x').value); + assertEquals(1, calls); + + var sym = Symbol(); + object.setSymbol.call(global, sym, 2); + assertEquals(2, Object.getOwnPropertyDescriptor(global, sym).value); + // We currently do not invoke proxy traps for symbols + assertEquals(1, calls); +})(); + + +(function TestProxyReceiver() { + var object = { + setY(v) { + super.y = v; + } + }; + + var calls = 0; + var handler = { + getPropertyDescriptor(name) { + assertUnreachable(); + }, + set(receiver, name, value) { + calls++; + assertEquals(proxy, receiver); + assertEquals('y', name); + assertEquals(3, value); + } + }; + + var proxy = Proxy.create(handler); + object.setY.call(proxy, 3); + assertEquals(1, calls); +})(); |