Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(285)

Side by Side Diff: test/cctest/test-extra.js

Issue 2784213002: Add V8 extra utils for promise state (Closed)
Patch Set: Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« src/js/prologue.js ('K') | « test/cctest/test-api.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 the V8 project authors. All rights reserved. 1 // Copyright 2015 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 (function (global, binding, v8) { 5 (function (global, binding, v8) {
6 'use strict'; 6 'use strict';
7 binding.testExtraShouldReturnFive = function() { 7 binding.testExtraShouldReturnFive = function() {
8 return 5; 8 return 5;
9 }; 9 };
10 10
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
63 63
64 const rejectedPromise = v8.createPromise(); 64 const rejectedPromise = v8.createPromise();
65 v8.rejectPromise(rejectedPromise, apply(function (arg1, arg2) { 65 v8.rejectPromise(rejectedPromise, apply(function (arg1, arg2) {
66 return (arg1 === arg2 && arg2 === 'x') ? 3 : -1; 66 return (arg1 === arg2 && arg2 === 'x') ? 3 : -1;
67 }, null, new v8.InternalPackedArray('x', 'x'))); 67 }, null, new v8.InternalPackedArray('x', 'x')));
68 68
69 const rejectedButHandledPromise = v8.createPromise(); 69 const rejectedButHandledPromise = v8.createPromise();
70 v8.rejectPromise(rejectedButHandledPromise, 4); 70 v8.rejectPromise(rejectedButHandledPromise, 4);
71 v8.markPromiseAsHandled(rejectedButHandledPromise); 71 v8.markPromiseAsHandled(rejectedButHandledPromise);
72 72
73 function promiseStateToString(promise) {
74 switch (v8.promiseState(promise)) {
75 case v8.kPROMISE_PENDING:
76 return "pending";
77 case v8.kPROMISE_FULFILLED:
78 return "fulfilled";
79 case v8.kPROMISE_REJECTED:
80 return "rejected";
81 default:
82 throw new Error("Unexpected value for promiseState");
83 }
84 }
85
86 let promiseStates = promiseStateToString(new Promise(() => {})) + ' ' +
87 promiseStateToString(fulfilledPromise) + ' ' +
88 promiseStateToString(rejectedPromise);
89
73 return { 90 return {
74 privateSymbol: v8.createPrivateSymbol('sym'), 91 privateSymbol: v8.createPrivateSymbol('sym'),
75 fulfilledPromise, // should be fulfilled with 1 92 fulfilledPromise, // should be fulfilled with 1
76 fulfilledPromise2, // should be fulfilled with 2 93 fulfilledPromise2, // should be fulfilled with 2
77 rejectedPromise, // should be rejected with 3 94 rejectedPromise, // should be rejected with 3
78 rejectedButHandledPromise // should be rejected but have a handler 95 rejectedButHandledPromise, // should be rejected but have a handler
96 promiseStates // should be the string "pending fulfilled rejected"
79 }; 97 };
80 }; 98 };
81 }) 99 })
OLDNEW
« src/js/prologue.js ('K') | « test/cctest/test-api.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698