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

Side by Side Diff: LayoutTests/inspector/sources/debugger/promise-tracker.html

Issue 654983002: Fix flaky inspector/sources/debugger/promise-tracker.html test. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | 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 <html> 1 <html>
2 <head> 2 <head>
3 <script src="../../../http/tests/inspector/inspector-test.js"></script> 3 <script src="../../../http/tests/inspector/inspector-test.js"></script>
4 <script src="../../../http/tests/inspector/debugger-test.js"></script> 4 <script src="../../../http/tests/inspector/debugger-test.js"></script>
5 <script> 5 <script>
6 6
7 function testFunction() 7 function testFunction()
8 { 8 {
9 var promise = new Promise(function promiseConstructor(resolve, reject) { 9 var promise = new Promise(function promiseConstructor(resolve, reject) {
10 resolve("Resolved!"); 10 resolve("Resolved!");
(...skipping 28 matching lines...) Expand all
39 } 39 }
40 40
41 function didGetPromises(error, response) 41 function didGetPromises(error, response)
42 { 42 {
43 InspectorTest.assertTrue(!error, "FAIL: " + error); 43 InspectorTest.assertTrue(!error, "FAIL: " + error);
44 44
45 function comparePromiseData(x, y) 45 function comparePromiseData(x, y)
46 { 46 {
47 var t1 = x.creationTime || 0; 47 var t1 = x.creationTime || 0;
48 var t2 = y.creationTime || 0; 48 var t2 = y.creationTime || 0;
49 return t1 - t2; 49 return t1 - t2 || x.id - y.id;
50 } 50 }
51 51
52 InspectorTest.assertEquals(3, response.length, "FAIL: Invalid number of Promises."); 52 InspectorTest.assertEquals(3, response.length, "FAIL: Invalid number of Promises.");
53 var minPromiseId = response[0].id; 53 var minPromiseId = response[0].id;
54 for (var i = 0; i < response.length; i++) 54 for (var i = 0; i < response.length; i++)
55 minPromiseId = Math.min(minPromiseId, response[i].id); 55 minPromiseId = Math.min(minPromiseId, response[i].id);
56 response.sort(comparePromiseData); 56 response.sort(comparePromiseData);
57 57
58 var output = []; 58 var output = [];
59 for (var i = 0; i < response.length; i++) { 59 for (var i = 0; i < response.length; i++) {
60 var promise = response[i]; 60 var promise = response[i];
61 InspectorTest.assertTrue(promise.creationTime > 0, "FAIL: invalid Pr omise creation time."); 61 InspectorTest.assertTrue(promise.creationTime > 0, "FAIL: invalid Pr omise creation time.");
62 InspectorTest.assertTrue(!promise.settlementTime || (promise.settlem entTime >= promise.creationTime), "FAIL: invalid Promise creation or settlement time."); 62 InspectorTest.assertTrue(!promise.settlementTime || (promise.settlem entTime >= promise.creationTime), "FAIL: invalid Promise creation or settlement time.");
63 var parentId = promise.parentId ? promise.parentId - minPromiseId : undefined; 63 var parentId = promise.parentId ? promise.parentId - minPromiseId : undefined;
64 var promiseInfo = "Promise:" + 64 var promiseInfo = "Promise:" +
65 "\n id: " + (promise.id - minPromiseId) + 65 "\n id: " + (promise.id - minPromiseId) +
66 "\n status: " + promise.status + 66 "\n status: " + promise.status +
67 "\n parent id: " + parentId; 67 "\n parent id: " + parentId;
68 var callFrame = promise.callFrame; 68 var callFrame = promise.callFrame;
69 if (callFrame) { 69 if (callFrame) {
70 var url = WebInspector.displayNameForURL(callFrame.url); 70 var url = WebInspector.displayNameForURL(callFrame.url);
71 promiseInfo += "\n " + callFrame.functionName + " " + url + " :" + callFrame.lineNumber; 71 promiseInfo += "\n " + callFrame.functionName + " " + url + " :" + callFrame.lineNumber;
72 } 72 }
73 output.push(promiseInfo); 73 output.push(promiseInfo);
74 } 74 }
75 75
76 InspectorTest.assertTrue(response[0].settlementTime <= response[1].settl ementTime && !response[2].settlementTime, "FAIL: invalid Promise settlement time ."); 76 InspectorTest.assertGreaterOrEqual(response[1].settlementTime, response[ 0].settlementTime, "FAIL: invalid Promise settlement time.");
77 InspectorTest.assertTrue(!response[2].settlementTime, "FAIL: a pending P romise should not have settlement time.");
77 78
78 InspectorTest.addResults(output); 79 InspectorTest.addResults(output);
79 80
80 DebuggerAgent.getPromiseById(response[0].id, "console", didGetPromiseByI d); 81 DebuggerAgent.getPromiseById(response[0].id, "console", didGetPromiseByI d);
81 } 82 }
82 83
83 function didGetPromiseById(error, response) 84 function didGetPromiseById(error, response)
84 { 85 {
85 InspectorTest.assertTrue(!error, "FAIL: " + error); 86 InspectorTest.assertTrue(!error, "FAIL: " + error);
86 InspectorTest.assertTrue(response && response.type === "object" && respo nse.className === "Promise", "FAIL: returned by ID object is not a Promise."); 87 InspectorTest.assertTrue(response && response.type === "object" && respo nse.className === "Promise", "FAIL: returned by ID object is not a Promise.");
87 88
88 RuntimeAgent.getProperties(response.objectId, didGetProperties); 89 RuntimeAgent.getProperties(response.objectId, didGetProperties);
89 } 90 }
90 91
91 function didGetProperties(error, properties, internalProperties) { 92 function didGetProperties(error, properties, internalProperties)
93 {
92 InspectorTest.assertTrue(!error, "FAIL: " + error); 94 InspectorTest.assertTrue(!error, "FAIL: " + error);
93 InspectorTest.assertTrue(internalProperties && internalProperties.length > 0, "FAIL: no internal properties."); 95 InspectorTest.assertTrue(internalProperties && internalProperties.length > 0, "FAIL: no internal properties.");
94 96
95 var status, value; 97 var status, value;
96 for (var i = 0; i < internalProperties.length; i++) { 98 for (var i = 0; i < internalProperties.length; i++) {
97 var property = internalProperties[i]; 99 var property = internalProperties[i];
98 if (property.name === "[[PromiseStatus]]") 100 if (property.name === "[[PromiseStatus]]")
99 status = property.value.value; 101 status = property.value.value;
100 if (property.name === "[[PromiseValue]]") 102 if (property.name === "[[PromiseValue]]")
101 value = property.value.value; 103 value = property.value.value;
(...skipping 15 matching lines...) Expand all
117 119
118 </script> 120 </script>
119 </head> 121 </head>
120 122
121 <body onload="runTest()"> 123 <body onload="runTest()">
122 <p> 124 <p>
123 Tests promise tracker in debugger. 125 Tests promise tracker in debugger.
124 </p> 126 </p>
125 </body> 127 </body>
126 </html> 128 </html>
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698