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

Side by Side Diff: LayoutTests/fast/js/Promise-static-every.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 result = undefined; 13 result = undefined;
14 14
15 var p1 = new Promise(function(r) { r.fulfill('p1'); }); 15 var p1 = new Promise(function(resolve) { resolve('p1'); });
16 var p2 = new Promise(function(r) { r.fulfill('p2'); }); 16 var p2 = new Promise(function(resolve) { resolve('p2'); });
17 var p3 = new Promise(function(r) { r.fulfill('p3'); }); 17 var p3 = new Promise(function(resolve) { resolve('p3'); });
18 var p4 = new Promise(function() {}); 18 var p4 = new Promise(function() {});
19 var p5 = new Promise(function() {}); 19 var p5 = new Promise(function() {});
20 var p6 = new Promise(function(r) { r.reject('p6'); }); 20 var p6 = new Promise(function(_, reject) { reject('p6'); });
21 var p7 = new Promise(function(r) { r.reject('p7'); }); 21 var p7 = new Promise(function(_, reject) { reject('p7'); });
22 var p8 = new Promise(function(r) { r.reject('p8'); }); 22 var p8 = new Promise(function(_, reject) { reject('p8'); });
23 var p9 = new Promise(function(r) { r.fulfill(p2); }); 23 var p9 = new Promise(function(resolve) { resolve(p2); });
24 24
25 var case0 = Promise.every().then(function(result) { 25 Promise.every(p1, p2, p5).then(function(result) {
26 testFailed('Promise.every(p1, p2, p5) is fulfilled.');
27 }, function() {
28 testFailed('Promise.every(p1, p2, p5) is rejected.');
29 });
30
31 Promise.every().then(function(result) {
26 testPassed('Promise.every() is fulfilled.'); 32 testPassed('Promise.every() is fulfilled.');
27 window.result = result; 33 window.result = result;
28 shouldBe('result', 'undefined'); 34 shouldBe('result', 'undefined');
29 }, function() { 35 }, function() {
30 testFailed('Promise.every() is rejected.'); 36 testFailed('Promise.every() is rejected.');
31 }); 37 }).then(function() {
32 38 return Promise.every(p1, p2, p3).then(function(result) {
33 var case1 = Promise.every(p1, p2, p3).then(function(result) { 39 testPassed('Promise.every(p1, p2, p3) is fulfilled.');
34 testPassed('Promise.every(p1, p2, p3) is fulfilled.'); 40 window.result = result;
35 window.result = result; 41 shouldBe('result.length', '3');
36 shouldBe('result.length', '3'); 42 shouldBeEqualToString('result[0]', 'p1');
37 shouldBeEqualToString('result[0]', 'p1'); 43 shouldBeEqualToString('result[1]', 'p2');
38 shouldBeEqualToString('result[1]', 'p2'); 44 shouldBeEqualToString('result[2]', 'p3');
39 shouldBeEqualToString('result[2]', 'p3'); 45 }, function() {
40 }, function() { 46 testFailed('Promise.every(p1, p2, p3) is rejected.');
41 testFailed('Promise.every(p1, p2, p3) is rejected.'); 47 });
42 }); 48 }).then(function() {
43 49 return Promise.every(p1, p6, p5).then(function(result) {
44 var case2 = Promise.every(p1, p2, p5).then(function(result) { 50 testFailed('Promise.every(p1, p6, p5) is fulfilled.');
45 testFailed('Promise.every(p1, p2, p5) is fulfilled.'); 51 }, function(result) {
46 }, function() { 52 testPassed('Promise.every(p1, p6, p5) is rejected.');
47 testFailed('Promise.every(p1, p2, p5) is rejected.'); 53 window.result = result;
48 }); 54 shouldBeEqualToString('result', 'p6');
49 55 });
50 var case3 = Promise.every(p1, p6, p5).then(function(result) { 56 }).then(function() {
51 testFailed('Promise.every(p1, p6, p5) is fulfilled.'); 57 return Promise.every(p9).then(function(result) {
52 }, function(result) { 58 testPassed('Promise.every(p9) is fulfilled.');
53 testPassed('Promise.every(p1, p6, p5) is rejected.'); 59 window.result = result;
54 window.result = result; 60 shouldBe('result.length', '1');
55 shouldBeEqualToString('result', 'p6'); 61 shouldBeEqualToString('result[0]', 'p2');
56 }); 62 }, function(result) {
57 63 testFailed('Promise.every(p9) is rejected.');
58 var case4 = Promise.every(p9).then(function(result) { 64 });
59 testPassed('Promise.every(p9) is fulfilled.'); 65 }).then(finishJSTest, finishJSTest);
60 window.result = result;
61 shouldBe('result.length', '1');
62 shouldBeEqualToString('result[0]', 'p2');
63 }, function(result) {
64 testFailed('Promise.every(p9) is rejected.');
65 });
66 66
67 shouldBe('result', 'undefined'); 67 shouldBe('result', 'undefined');
68 Promise.every(case0, case1, case3, case4).then(finishJSTest, finishJSTest);
69 68
70 </script> 69 </script>
71 <script src="resources/js-test-post.js"></script> 70 <script src="resources/js-test-post.js"></script>
72 </body> 71 </body>
73 </html> 72 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698