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

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

Issue 17874002: [ABANDONED] Implement non-static methods of Promise and PromiseResolver. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 7 years, 5 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
(Empty)
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <script src="resources/js-test-pre.js"></script>
5 </head>
6 <body>
7 <div id="description"></div>
8 <div id="console"></div>
9 <script>
10 description('Test Promise.');
11
12 window.jsTestIsAsync = true;
13
14 var resolver;
15 var promise = new Promise(function (r) {resolver = r;});
16 var operation;
17
18 promise.then(function(result) { // fulfilled - continue
19 testPassed('fulfilled');
20 window.result = result;
21 shouldBeEqualToString('result', 'hello');
22 return 'hello2';
23 }, function() {
24 testFailed('rrejected');
25 }).then() // pass through
26 .then(function(result) { // fulfilled - throw an exception
27 testPassed('fulfilled');
28 window.result = result;
29 shouldBeEqualToString('result', 'hello2');
30 throw 'error';
31 }, function() {
32 testFailed('rejected');
33 }).then(function() { // rejected - throw an exception
34 testFailed('fulfilled');
35 }, function(result) {
36 testPassed('rejected');
37 window.result = result;
38 shouldBeEqualToString('result', 'error');
39 throw 'error2';
40 }).then() // pass through
41 .then(function() { // rejected - recover
42 testFailed('fulfilled');
43 }, function(result) {
44 testPassed('rejected');
45 window.result = result;
46 shouldBeEqualToString('result', 'error2');
47 return 'recovered';
48 }).then(function(result) { // fulfilled - the last
49 testPassed('fulfilled');
50 window.result = result;
51 shouldBeEqualToString('result', 'recovered');
52 shouldBeEqualToString('operation', 'asynchronous');
53 finishJSTest();
54 }, function() {
55 testFailed('rejected');
56 finishJSTest();
57 });
58
59 operation = 'synchronous';
60 resolver.fulfill('hello');
61
62 // The chain should be executed asynchronously.
63 operation = 'asynchronous';
64
65 </script>
66 <script src="resources/js-test-post.js"></script>
67 </body>
68 </html>
OLDNEW
« no previous file with comments | « LayoutTests/fast/js/Promise-catch-expected.txt ('k') | LayoutTests/fast/js/Promise-chain-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698