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

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

Issue 24980002: Implement AP2 Promises (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 7 years, 2 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
« no previous file with comments | « no previous file | LayoutTests/fast/js/Promise-catch-expected.txt » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 var reject; 13 var reject;
14 14
15 var firstPromise = new Promise(function(_, newReject) { 15 var firstPromise = new Promise(function(_, newReject) {
16 window.thisInInit = this; 16 window.thisInInit = this;
17 reject = newReject; 17 reject = newReject;
18 }); 18 });
19 19
20 var secondPromise = firstPromise.catch(function(result) { 20 var secondPromise = firstPromise.catch(function(result) {
21 window.thisInFulfillCallback = this; 21 window.thisInFulfillCallback = this;
22 shouldBeFalse('thisInFulfillCallback === firstPromise'); 22 shouldBeFalse('thisInFulfillCallback === firstPromise');
23 shouldBeTrue('thisInFulfillCallback === secondPromise'); 23 shouldBeFalse('thisInFulfillCallback === secondPromise');
24 shouldBeTrue('thisInFulfillCallback === window');
24 window.result = result; 25 window.result = result;
25 shouldBeEqualToString('result', 'hello'); 26 shouldBeEqualToString('result', 'hello');
26 return 'bye'; 27 return 'bye';
27 }); 28 });
28 29
29 secondPromise.then(function(result) { 30 secondPromise.then(function(result) {
30 window.result = result; 31 window.result = result;
31 shouldBeEqualToString('result', 'bye'); 32 shouldBeEqualToString('result', 'bye');
32 testPassed('fulfilled'); 33 testPassed('fulfilled');
33 finishJSTest(); 34 finishJSTest();
34 }, function() { 35 }, function() {
35 testFailed('rejected'); 36 testFailed('rejected');
36 finishJSTest(); 37 finishJSTest();
37 }, function() { 38 }, function() {
38 }); 39 });
39 40
40 shouldBeTrue('thisInInit === firstPromise'); 41 shouldBeFalse('thisInInit === firstPromise');
42 shouldBeTrue('thisInInit === window');
41 shouldBeTrue('firstPromise instanceof Promise'); 43 shouldBeTrue('firstPromise instanceof Promise');
42 shouldBeTrue('secondPromise instanceof Promise'); 44 shouldBeTrue('secondPromise instanceof Promise');
43 45
44 shouldThrow('firstPromise.catch(null)', '"TypeError: rejectCallback must be a fu nction or undefined"'); 46 shouldThrow('firstPromise.catch(null)', '"TypeError: onRejected must be a functi on or undefined"');
45 shouldThrow('firstPromise.catch(37)', '"TypeError: rejectCallback must be a func tion or undefined"'); 47 shouldThrow('firstPromise.catch(37)', '"TypeError: onRejected must be a function or undefined"');
46 48
47 reject('hello'); 49 reject('hello');
48 </script> 50 </script>
49 <script src="resources/js-test-post.js"></script> 51 <script src="resources/js-test-post.js"></script>
50 </body> 52 </body>
51 </html> 53 </html>
OLDNEW
« no previous file with comments | « no previous file | LayoutTests/fast/js/Promise-catch-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698