| // Copyright 2016 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. |
| 'use strict' |
| |
| class LeakyPromise extends Promise { |
| constructor(executor) { |
| super((resolve, reject) => { resolve();}); |
| this.resolve = function() {assertEquals(this, undefined); }; |
| this.reject = function() {assertEquals(this, undefined); }; |
| executor(this.resolve, this.reject); |
| } |
| } |
| |
| const p1 = new LeakyPromise((r) => r()); |
| const p2 = new LeakyPromise((_, r) => r()); |