summaryrefslogtreecommitdiff
path: root/deps/v8/test/mjsunit/regress/regress-776338.js
diff options
context:
space:
mode:
authorMyles Borins <mylesborins@google.com>2017-11-13 11:46:22 -0500
committerMyles Borins <mylesborins@google.com>2017-11-13 12:30:40 -0500
commit14d24cc4d226a8317ea4eb1938840f86588dddfe (patch)
treee81adb3cec498940b68d934d206d100a5e4d2e0e /deps/v8/test/mjsunit/regress/regress-776338.js
parent1601a3c2a9d82c0c235bc37c5ecbb365a4ceb47c (diff)
downloadnode-new-14d24cc4d226a8317ea4eb1938840f86588dddfe.tar.gz
deps: patch V8 to 6.2.414.44
Refs: https://github.com/v8/v8/compare/6.2.414.32...6.2.414.44 PR-URL: https://github.com/nodejs/node/pull/16848 Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com> Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com> Reviewed-By: Michaƫl Zasso <targos@protonmail.com> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Diffstat (limited to 'deps/v8/test/mjsunit/regress/regress-776338.js')
-rw-r--r--deps/v8/test/mjsunit/regress/regress-776338.js44
1 files changed, 44 insertions, 0 deletions
diff --git a/deps/v8/test/mjsunit/regress/regress-776338.js b/deps/v8/test/mjsunit/regress/regress-776338.js
new file mode 100644
index 0000000000..ce0cf40d8c
--- /dev/null
+++ b/deps/v8/test/mjsunit/regress/regress-776338.js
@@ -0,0 +1,44 @@
+// Copyright 2017 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.
+
+const obj = {};
+Object.defineProperty(obj, 'value', {
+ enumerable: true,
+ configurable: true,
+ get: assertUnreachable,
+ set: assertUnreachable,
+});
+
+let called_get = false;
+let called_has = false;
+let called_set = false;
+
+const has = function(target, prop) {
+ assertEquals('value', prop);
+ called_has = true;
+ return false; // Need to return false to trigger GetOwnProperty call.
+};
+
+const get = function(target, prop) {
+ assertEquals('value', prop);
+ called_get = true;
+ return 'yep';
+};
+
+const set = function(target, prop, value) {
+ assertEquals('value', prop);
+ called_set = true;
+ return true; // Need to return true to trigger GetOwnProperty call.
+};
+
+const proxy = new Proxy(obj, { has, get, set });
+
+assertFalse(Reflect.has(proxy, 'value'));
+assertTrue(called_has);
+
+assertEquals('nope', proxy.value = 'nope');
+assertTrue(called_set);
+
+assertEquals('yep', proxy.value);
+assertTrue(called_get);