| // Copyright (C) 2018 Jordan Harband. All rights reserved. |
| // This code is governed by the BSD license found in the LICENSE file. |
| /*--- |
| author: Jordan Harband |
| description: Promise subclass finally on rejected creates the proper number of subclassed promises |
| esid: sec-promise.prototype.finally |
| features: [Promise.prototype.finally] |
| flags: [async] |
| ---*/ |
| |
| var count = 0; |
| class FooPromise extends Promise { |
| constructor(resolve, reject) { |
| count++; |
| return super(resolve, reject); |
| } |
| } |
| |
| FooPromise.reject().finally(() => {}).then(value => { |
| throw new Test262Error("Expected Promise to be rejected, got: resolved with " + value); |
| }, () => { |
| assert.sameValue(count, 7); |
| }).then($DONE, $DONE); |