aboutsummaryrefslogtreecommitdiff
path: root/test/js/promise_s22.t.js
blob: a590726462e8329506ed57358b13ba6bb868747e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/*---
includes: []
flags: [async]
---*/

var returnValue = null;
var value = {};
var resolve;

var thenable = new Promise(function(resolve) {
    resolve();
});

var promise = new Promise(function(_resolve) {
    resolve = _resolve;
});

thenable.then = function(resolve) {
    resolve(value);
};

promise
.then(
    v => {
        assert.sameValue(v, value, 'The promise should be fulfilled with the provided value.');
    },
    e => $DONOTEVALUATE)
.then($DONE, $DONE);

returnValue = resolve(thenable);

assert.sameValue(returnValue, undefined);