function comparePromiseData(x, y)
{
- if (x.id < y.id)
- return -1;
- else if (x.id === y.id)
- return 0;
- else
- return 1;
+ var t1 = x.creationTime || 0;
+ var t2 = y.creationTime || 0;
+ return t1 - t2 || x.id - y.id;
}
- var minPromiseId;
- if (response.length) {
- minPromiseId = response[0].id;
- for (var i = 0; i < response.length; i++)
- minPromiseId = Math.min(minPromiseId, response[i].id);
- }
+ InspectorTest.assertEquals(3, response.length, "FAIL: Invalid number of Promises.");
+ var minPromiseId = response[0].id;
+ for (var i = 0; i < response.length; i++)
+ minPromiseId = Math.min(minPromiseId, response[i].id);
response.sort(comparePromiseData);
var output = [];
for (var i = 0; i < response.length; i++) {
var promise = response[i];
+ InspectorTest.assertTrue(promise.creationTime > 0, "FAIL: invalid Promise creation time.");
+ InspectorTest.assertTrue(!promise.settlementTime || (promise.settlementTime >= promise.creationTime), "FAIL: invalid Promise creation or settlement time.");
var parentId = promise.parentId ? promise.parentId - minPromiseId : undefined;
var promiseInfo = "Promise:" +
"\n id: " + (promise.id - minPromiseId) +
output.push(promiseInfo);
}
+ InspectorTest.assertGreaterOrEqual(response[1].settlementTime, response[0].settlementTime, "FAIL: invalid Promise settlement time.");
+ InspectorTest.assertTrue(!response[2].settlementTime, "FAIL: a pending Promise should not have settlement time.");
+
InspectorTest.addResults(output);
DebuggerAgent.getPromiseById(response[0].id, "console", didGetPromiseById);
RuntimeAgent.getProperties(response.objectId, didGetProperties);
}
- function didGetProperties(error, properties, internalProperties) {
+ function didGetProperties(error, properties, internalProperties)
+ {
InspectorTest.assertTrue(!error, "FAIL: " + error);
InspectorTest.assertTrue(internalProperties && internalProperties.length > 0, "FAIL: no internal properties.");