blob: 4500faf4e03448b36581dca9158e71b256e7fa73 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src="../../http/tests/inspector/resources/protocol-test.js"></script>
<script>
function test()
{
let suite = ProtocolTest.createAsyncSuite("CPUProfiler.Tracking");
suite.addTestCase({
name: "CPUProfiler.Tracking.StartAndStopTrackingWithEvent",
test(resolve, reject) {
InspectorProtocol.awaitEvent({event: "CPUProfiler.trackingStart"}).then((messageObject) => {
ProtocolTest.log("CPUProfiler.trackingStart");
ProtocolTest.expectThat(typeof messageObject.params.timestamp === "number", "Should have a timestamp when starting.");
});
InspectorProtocol.awaitEvent({event: "CPUProfiler.trackingUpdate"}).then((messageObject) => {
ProtocolTest.log("CPUProfiler.trackingUpdate");
ProtocolTest.expectThat(typeof messageObject.params.event === "object", "Should have an event object.");
ProtocolTest.expectThat(typeof messageObject.params.event.timestamp === "number", "Event should have a timestamp.");
ProtocolTest.expectThat(typeof messageObject.params.event.usage === "number", "Event should have a usage.");
ProtocolTest.expectThat(messageObject.params.event.usage >= 0, "usage should be greater than or equal to zero.");
InspectorProtocol.sendCommand("CPUProfiler.stopTracking", {});
});
InspectorProtocol.awaitEvent({event: "CPUProfiler.trackingComplete"}).then((messageObject) => {
ProtocolTest.log("CPUProfiler.trackingComplete");
resolve();
});
InspectorProtocol.sendCommand("CPUProfiler.startTracking", {});
}
});
suite.runTestCasesAndFinish();
}
</script>
</head>
<body onload="runTest()">
<p>Tests that CPUProfiler.startTracking and CPUProfiler.stopTracking trigger trackingStart, trackingUpdate, and trackingComplete events with expected data.</p>
</body>
</html>