blob: bee051d5d5b91d95e4b40b38337e986d7f34662a [file] [log] [blame]
<!doctype html>
<html>
<head>
<script src="../../http/tests/inspector/resources/inspector-test.js"></script>
<script>
function test()
{
var recordingStartTime = NaN;
var recordingEndTime = NaN;
function check(condition, message)
{
InspectorTest.log((condition ? "PASS" : "FAIL") + ": " + message);
}
WI.timelineManager.addEventListener(WI.TimelineManager.Event.CapturingStateChanged, (event) => {
if (WI.timelineManager.capturingState === WI.TimelineManager.CapturingState.Active) {
InspectorTest.assert(typeof event.data.startTime === "number");
InspectorTest.assert(event.data.startTime > 0);
if (isNaN(recordingStartTime)) {
InspectorTest.log("PASS: 1st CapturingStarted had startTime");
} else {
InspectorTest.assert(event.data.startTime > recordingStartTime, "FAIL: 2nd CapturingStarted should be > 1st CapturingStarted");
InspectorTest.log("PASS: 2nd CapturingStarted had startTime > 1st CapturingStarted");
InspectorTest.assert(event.data.startTime > recordingEndTime, "FAIL: 2nd CapturingStarted should be > 1st CapturingStopped");
InspectorTest.log("PASS: 2nd CapturingStarted had startTime > 1st CapturingStopped");
}
recordingStartTime = event.data.startTime;
return;
}
if (WI.timelineManager.capturingState === WI.TimelineManager.CapturingState.Inactive) {
InspectorTest.assert(typeof event.data.endTime === "number");
InspectorTest.assert(event.data.endTime > 0);
if (isNaN(recordingEndTime)) {
InspectorTest.log("PASS: 1st CapturingStopped had endTime");
InspectorTest.assert(event.data.endTime > recordingStartTime, "FAIL: 1st CapturingStopped should be > 1st CapturingStarted");
InspectorTest.log("PASS: 1st CapturingStopped had endTime > 1st CapturingStarted");
} else {
InspectorTest.assert(event.data.endTime > recordingEndTime, "FAIL: 2nd CapturingStopped should be > 1st CapturingStopped");
InspectorTest.log("PASS: 2nd CapturingStopped had endTime > 1st CapturingStopped");
InspectorTest.assert(event.data.endTime > recordingStartTime, "FAIL: 2nd CapturingStopped should be > 2nd CapturingStarted");
InspectorTest.log("PASS: 2nd CapturingStopped had endTime > 2nd CapturingStarted");
InspectorTest.completeTest();
}
recordingEndTime = event.data.endTime;
return;
}
});
TimelineAgent.start()
.then(function() { return TimelineAgent.stop(); })
.then(function() { return TimelineAgent.start(); })
.then(function() { return TimelineAgent.stop(); });
}
</script>
</head>
<body onload="runTest()">
<p>Testing that timeline start and stop events have timestamps and are ordered reasonably.</p>
</body>
</html>