Index: test/mjsunit/regress/regress-5004.js |
diff --git a/test/mjsunit/regress/regress-5004.js b/test/mjsunit/regress/regress-5004.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..234f5d4eb6b8f03da8a487711e24ca575e21b256 |
--- /dev/null |
+++ b/test/mjsunit/regress/regress-5004.js |
@@ -0,0 +1,27 @@ |
+// 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: --allow-natives-syntax |
+ |
+function assertAsync(b, s) { |
+ if (!b) { |
+ %AbortJS(" FAILED!") |
+ } |
+} |
+ |
+class P extends Promise { |
+ constructor() { |
+ super(...arguments) |
+ return new Proxy(this, { |
+ get: (_, key) => { |
+ return key == 'then' ? |
+ this.then.bind(this) : |
+ this.constructor.resolve(20) |
+ } |
+ }) |
+ } |
+} |
+ |
+let p = P.resolve(10) |
+p.key.then(v => assertAsync(v === 20)); |
Dan Ehrenberg
2016/06/16 00:38:47
Are you sure this will be enough without %RunMicro
|