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

Side by Side Diff: LayoutTests/fast/js/Promise-then.html

Issue 23567043: Promise init callback takes resolve and reject functions (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 7 years, 3 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
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <html> 2 <html>
3 <head> 3 <head>
4 <script src="resources/js-test-pre.js"></script> 4 <script src="resources/js-test-pre.js"></script>
5 </head> 5 </head>
6 <body> 6 <body>
7 <div id="description"></div> 7 <div id="description"></div>
8 <div id="console"></div> 8 <div id="console"></div>
9 <script> 9 <script>
10 description('Test Promise.'); 10 description('Test Promise.');
11 11
12 window.jsTestIsAsync = true; 12 window.jsTestIsAsync = true;
13 13
14 var resolver; 14 var resolve;
15 15
16 var firstPromise = new Promise(function(newResolver) { 16 var firstPromise = new Promise(function(newResolve) {
17 window.thisInInit = this; 17 window.thisInInit = this;
18 resolver = newResolver; 18 resolve = newResolve;
19 }); 19 });
20 20
21 var secondPromise = firstPromise.then(function(result) { 21 var secondPromise = firstPromise.then(function(result) {
22 window.thisInFulfillCallback = this; 22 window.thisInFulfillCallback = this;
23 shouldBeFalse('thisInFulfillCallback === firstPromise'); 23 shouldBeFalse('thisInFulfillCallback === firstPromise');
24 shouldBeTrue('thisInFulfillCallback === secondPromise'); 24 shouldBeTrue('thisInFulfillCallback === secondPromise');
25 window.result = result; 25 window.result = result;
26 shouldBeEqualToString('result', 'hello'); 26 shouldBeEqualToString('result', 'hello');
27 finishJSTest(); 27 finishJSTest();
28 }); 28 });
29 29
30 shouldBeTrue('thisInInit === firstPromise'); 30 shouldBeTrue('thisInInit === firstPromise');
31 shouldBeTrue('firstPromise instanceof Promise'); 31 shouldBeTrue('firstPromise instanceof Promise');
32 shouldBeTrue('secondPromise instanceof Promise'); 32 shouldBeTrue('secondPromise instanceof Promise');
33 33
34 shouldThrow('firstPromise.then(null)', '"TypeError: fulfillCallback must be a fu nction or undefined"'); 34 shouldThrow('firstPromise.then(null)', '"TypeError: fulfillCallback must be a fu nction or undefined"');
35 shouldThrow('firstPromise.then(undefined, null)', '"TypeError: rejectCallback mu st be a function or undefined"'); 35 shouldThrow('firstPromise.then(undefined, null)', '"TypeError: rejectCallback mu st be a function or undefined"');
36 shouldThrow('firstPromise.then(37)', '"TypeError: fulfillCallback must be a func tion or undefined"'); 36 shouldThrow('firstPromise.then(37)', '"TypeError: fulfillCallback must be a func tion or undefined"');
37 37
38 resolver.fulfill('hello'); 38 resolve('hello');
39 39
40 </script> 40 </script>
41 <script src="resources/js-test-post.js"></script> 41 <script src="resources/js-test-post.js"></script>
42 </body> 42 </body>
43 </html> 43 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698