/
githubmirror
/
node
Обзор
Документация
Войти
/
githubmirror
/
node
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
deps/v8/test/mjsunit/basic-promise.js
42 строки
1 KB
Myles Borins
deps: update V8 to 6.0.286.52
01 авг 2017, 23:23
Не верифицирован
01 авг 2017, 23:23
0a66b22
Код
Авторство
О чём код?
// Copyright 2017 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 // We have to patch mjsunit because normal assertion failures just throw // exceptions which are swallowed in a then clause. failWithMessage = (msg) => %AbortJS(msg); function newPromise() { var outerResolve; var outerReject; let promise = new Promise((resolve, reject) => { outerResolve = resolve; outerReject = reject; }); Promise.resolve(promise); return { resolve: outerResolve, reject: outerReject, then: (f, g) => promise.then(f, g) }; } (function ResolveOK() { let promise = newPromise(); promise.then(msg => {print("resolved: " + msg); assertEquals("ok", msg); }, ex => {print("rejected: " + ex); %AbortJS("" + ex); }); promise.resolve("ok"); promise.reject(11); // ignored })(); (function RejectOK() { let promise = newPromise(); promise.then(msg => {print("resolved: " + msg); %AbortJS("fail"); }, ex => {print("rejected: " + ex); assertEquals(42, ex); }); promise.reject(42); promise.resolve("fail"); // ignored })();