50 lines
2.2 KiB
HTML
50 lines
2.2 KiB
HTML
<!doctype html>
|
|
<html>
|
|
<head>
|
|
<script src="../../http/tests/inspector/resources/protocol-test.js"></script>
|
|
<script>
|
|
function test()
|
|
{
|
|
let suite = ProtocolTest.createAsyncSuite("Memory.Tracking");
|
|
|
|
suite.addTestCase({
|
|
name: "Memory.Tracking.StartAndStopTrackingWithEvent",
|
|
test(resolve, reject) {
|
|
InspectorProtocol.awaitEvent({event: "Memory.trackingStart"}).then((messageObject) => {
|
|
ProtocolTest.log("Memory.trackingStart");
|
|
ProtocolTest.expectThat(typeof messageObject.params.timestamp === "number", "Should have a timestamp when starting.");
|
|
});
|
|
|
|
InspectorProtocol.awaitEvent({event: "Memory.trackingUpdate"}).then((messageObject) => {
|
|
ProtocolTest.log("Memory.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(messageObject.params.event.categories.length > 0, "Event should have category data.");
|
|
|
|
let categories = messageObject.params.event.categories;
|
|
let totalSize = categories.reduce((sum, x) => sum += x.size, 0);
|
|
let types = categories.reduce((list, x) => { list.push(x.type); return list; }, []).sort();
|
|
ProtocolTest.expectThat(totalSize >= 0, "Total size should be non-zero.");
|
|
ProtocolTest.log("CATEGORIES: " + types.join(", "));
|
|
|
|
InspectorProtocol.sendCommand("Memory.stopTracking", {});
|
|
});
|
|
|
|
InspectorProtocol.awaitEvent({event: "Memory.trackingComplete"}).then((messageObject) => {
|
|
ProtocolTest.log("Memory.trackingComplete");
|
|
resolve();
|
|
});
|
|
|
|
InspectorProtocol.sendCommand("Memory.startTracking", {});
|
|
}
|
|
});
|
|
|
|
suite.runTestCasesAndFinish();
|
|
}
|
|
</script>
|
|
</head>
|
|
<body onload="runTest()">
|
|
<p>Tests that Memory.startTracking and Memory.stopTracking trigger trackingStart, trackingUpdate, and trackingComplete events with expected data.</p>
|
|
</body>
|
|
</html>
|