haikuwebkit/LayoutTests/js/script-tests/promise-nested-microtasks.js

27 lines
652 B
JavaScript

description('Test Promise nested microtasks.');
var globalObject = this;
globalObject.jsTestIsAsync = true;
var value1;
var value2;
var result;
Promise.resolve(42).then(function (v1) {
value1 = v1;
shouldBe('value1', '42');
shouldBeUndefined('value2');
shouldBeUndefined('result');
return Promise.resolve(84).then(function (v2) {
value2 = v2;
shouldBe('value2', '84');
shouldBeUndefined('result');
return v2 * v1;
});
}).then(function (r) {
result = r;
shouldBe('result', '3528');
finishJSTest();
});
debug('The promise is not fulfilled until after this function call executes.');