summaryrefslogtreecommitdiff
path: root/deps/v8/test/mjsunit/es6
diff options
context:
space:
mode:
authorRefael Ackermann <refack@gmail.com>2019-05-28 08:46:21 -0400
committerRefael Ackermann <refack@gmail.com>2019-06-01 09:55:12 -0400
commited74896b1fae1c163b3906163f3bf46326618ddb (patch)
tree7fb05c5a19808e0c5cd95837528e9005999cf540 /deps/v8/test/mjsunit/es6
parent2a850cd0664a4eee51f44d0bb8c2f7a3fe444154 (diff)
downloadandroid-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')
-rw-r--r--deps/v8/test/mjsunit/es6/block-let-crankshaft-sloppy.js3
-rw-r--r--deps/v8/test/mjsunit/es6/computed-property-names-classes.js50
-rw-r--r--deps/v8/test/mjsunit/es6/object-assign.js55
-rw-r--r--deps/v8/test/mjsunit/es6/proxies-constructor.js4
-rw-r--r--deps/v8/test/mjsunit/es6/proxies-revocable.js6
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);