| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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> |
| OLD | NEW |