| <!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> |