diff options
author | Refael Ackermann <refack@gmail.com> | 2019-05-28 08:46:21 -0400 |
---|---|---|
committer | Refael Ackermann <refack@gmail.com> | 2019-06-01 09:55:12 -0400 |
commit | ed74896b1fae1c163b3906163f3bf46326618ddb (patch) | |
tree | 7fb05c5a19808e0c5cd95837528e9005999cf540 /deps/v8/test/mjsunit/es6 | |
parent | 2a850cd0664a4eee51f44d0bb8c2f7a3fe444154 (diff) | |
download | android-node-v8-ed74896b1fae1c163b3906163f3bf46326618ddb.tar.gz android-node-v8-ed74896b1fae1c163b3906163f3bf46326618ddb.tar.bz2 android-node-v8-ed74896b1fae1c163b3906163f3bf46326618ddb.zip |
deps: update V8 to 7.5.288.22
PR-URL: https://github.com/nodejs/node/pull/27375
Reviewed-By: Michaƫl Zasso <targos@protonmail.com>
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Diffstat (limited to 'deps/v8/test/mjsunit/es6')
5 files changed, 118 insertions, 0 deletions
diff --git a/deps/v8/test/mjsunit/es6/block-let-crankshaft-sloppy.js b/deps/v8/test/mjsunit/es6/block-let-crankshaft-sloppy.js index 5711ac270e..e50667ecc9 100644 --- a/deps/v8/test/mjsunit/es6/block-let-crankshaft-sloppy.js +++ b/deps/v8/test/mjsunit/es6/block-let-crankshaft-sloppy.js @@ -467,6 +467,9 @@ function g(x) { } } +%PrepareFunctionForOptimization(f); +%PrepareFunctionForOptimization(g); + for (var i=0; i<10; i++) { f(i); g(i); diff --git a/deps/v8/test/mjsunit/es6/computed-property-names-classes.js b/deps/v8/test/mjsunit/es6/computed-property-names-classes.js index da8e1d8dcb..b3a62ed810 100644 --- a/deps/v8/test/mjsunit/es6/computed-property-names-classes.js +++ b/deps/v8/test/mjsunit/es6/computed-property-names-classes.js @@ -213,6 +213,56 @@ function assertIteratorResult(value, done, result) { })(); +(function TestLength() { + class C { + static ['length']() { + return 42; + } + } + assertEquals(42, C.length()); + + class C1 { + static get ['length']() { + return 'A'; + } + } + assertEquals('A', C1.length); + + class C2 { + static get length() { + assertUnreachable(); + } + static get ['length']() { + return 'B'; + } + } + assertEquals('B', C2.length); + + class C3 { + static get length() { + assertUnreachable(); + } + static get ['length']() { + assertUnreachable(); + } + static get ['length']() { + return 'C'; + } + } + assertEquals('C', C3.length); + + class C4 { + static get ['length']() { + assertUnreachable(); + } + static get length() { + return 'D'; + } + } + assertEquals('D', C4.length); +})(); + + (function TestGetter() { class C { get ['a']() { diff --git a/deps/v8/test/mjsunit/es6/object-assign.js b/deps/v8/test/mjsunit/es6/object-assign.js index 1fec766dd1..2573e3d3c7 100644 --- a/deps/v8/test/mjsunit/es6/object-assign.js +++ b/deps/v8/test/mjsunit/es6/object-assign.js @@ -171,3 +171,58 @@ assertSame(Object.assign(o, {}), o); var source = {get k1() { throw "fail" }}; assertThrows(()=>Object.assign(target, source)); })(); + +(function strings_and_symbol_order1() { + // first order + var log = []; + + var sym1 = Symbol("x"), sym2 = Symbol("y"); + var source = { + get [sym1](){ log.push("get sym1"); }, + get a() { log.push("get a"); }, + get b() { log.push("get b"); }, + get c() { log.push("get c"); }, + get [sym2](){ log.push("get sym2"); }, + }; + + Object.assign({}, source); + + assertEquals(log, ["get a", "get b", "get c", "get sym1", "get sym2"]); +})(); + +(function strings_and_symbol_order2() { + // first order + var log = []; + + var sym1 = Symbol("x"), sym2 = Symbol("y"); + var source = { + get [sym1](){ log.push("get sym1"); }, + get a() { log.push("get a"); }, + get [sym2](){ log.push("get sym2"); }, + get b() { log.push("get b"); }, + get c() { log.push("get c"); }, + }; + + Object.assign({}, source); + + assertEquals(log, ["get a", "get b", "get c", "get sym1", "get sym2"]); +})(); + + +(function strings_and_symbol_order3() { + // first order + var log = []; + + var sym1 = Symbol("x"), sym2 = Symbol("y"); + var source = { + get a() { log.push("get a"); }, + get [sym1](){ log.push("get sym1"); }, + get b() { log.push("get b"); }, + get [sym2](){ log.push("get sym2"); }, + get c() { log.push("get c"); }, + }; + + Object.assign({}, source); + + assertEquals(log, ["get a", "get b", "get c", "get sym1", "get sym2"]); +})(); diff --git a/deps/v8/test/mjsunit/es6/proxies-constructor.js b/deps/v8/test/mjsunit/es6/proxies-constructor.js index 5b30725a52..93b64ec3a1 100644 --- a/deps/v8/test/mjsunit/es6/proxies-constructor.js +++ b/deps/v8/test/mjsunit/es6/proxies-constructor.js @@ -2,6 +2,10 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +(function testNewTarget() { + assertThrows(function(){ Proxy({}, {}); }, TypeError); + assertDoesNotThrow(function(){ new Proxy({}, {}); }); +})(); (function testNonObjectTargetTypes() { assertThrows(function(){ new Proxy(undefined, {}); }, TypeError); diff --git a/deps/v8/test/mjsunit/es6/proxies-revocable.js b/deps/v8/test/mjsunit/es6/proxies-revocable.js index 1f61174a35..82b853af8c 100644 --- a/deps/v8/test/mjsunit/es6/proxies-revocable.js +++ b/deps/v8/test/mjsunit/es6/proxies-revocable.js @@ -21,3 +21,9 @@ assertEquals(undefined, revoke()); for (var trap of traps) { assertThrows(() => Reflect[trap](proxy), TypeError); } + +// Throw TypeError if target or handler is revoked proxy +var revocable = Proxy.revocable({}, {}); +revocable.revoke(); +assertThrows(function(){ Proxy.revocable(revocable.proxy, {}); }, TypeError); +assertThrows(function(){ Proxy.revocable({}, revocable.proxy); }, TypeError); |