blob: 50fa4cd3b270b420263669c68d5a370843908bbb [file] [log] [blame]
<html>
<head>
<script src="../http/tests/inspector/inspector-test.js"></script>
<script src="../http/tests/inspector/timeline-test.js"></script>
<script>
function test()
{
var mainThread = 1;
var pid = 100;
var testData = [
{"name": "Outer", "ts": 10000, args: {}, "dur": 1000, "ph": "X", "tid": mainThread, "pid": 100, "cat":"test" },
{"name": "Inner", "ts": 10000, args: {}, "dur": 1000, "ph": "X", "tid": mainThread, "pid": 100, "cat":"test" },
{"name": "Outer", "ts": 20000, args: {}, "dur": 1000, "ph": "X", "tid": mainThread, "pid": 100, "cat":"test" },
{"name": "Inner", "ts": 20000, args: {}, "dur": 999, "ph": "X", "tid": mainThread, "pid": 100, "cat":"test" },
{"name": "Outer", "ts": 30000, args: {}, "dur": 1000, "ph": "X", "tid": mainThread, "pid": 100, "cat":"test" },
{"name": "Inner", "ts": 30000, args: {}, "dur": 999, "ph": "X", "tid": mainThread, "pid": 100, "cat":"test" },
{"name": "Outer", "ts": 40000, args: {}, "ph": "B", "tid": mainThread, "pid": 100, "cat":"test" },
{"name": "Inner", "ts": 40000, args: {}, "dur": 1000, "ph": "X", "tid": mainThread, "pid": 100, "cat":"test" },
{"name": "Outer", "ts": 41000, args: {}, "ph": "E", "tid": mainThread, "pid": 100, "cat":"test" },
{"name": "Outer", "ts": 50000, args: {}, "ph": "B", "tid": mainThread, "pid": 100, "cat":"test" },
{"name": "Inner", "ts": 50000, args: {}, "dur": 999, "ph": "X", "tid": mainThread, "pid": 100, "cat":"test" },
{"name": "Outer", "ts": 51000, args: {}, "ph": "E", "tid": mainThread, "pid": 100, "cat":"test" },
{"name": "Outer", "ts": 60000, args: {}, "ph": "B", "tid": mainThread, "pid": 100, "cat":"test" },
{"name": "Inner", "ts": 60001, args: {}, "dur": 999, "ph": "X", "tid": mainThread, "pid": 100, "cat":"test" },
{"name": "Outer", "ts": 61000, args: {}, "ph": "E", "tid": mainThread, "pid": 100, "cat":"test" },
{"name": "Outer", "ts": 70000, args: {}, "dur": 1000, "ph": "X", "tid": mainThread, "pid": 100, "cat":"test" },
{"name": "Inner", "ts": 70000, args: {}, "ph": "B", "tid": mainThread, "pid": 100, "cat":"test" },
{"name": "Inner", "ts": 71000, args: {}, "ph": "E", "tid": mainThread, "pid": 100, "cat":"test" },
{"name": "Outer", "ts": 80000, args: {}, "dur": 0, "ph": "X", "tid": mainThread, "pid": 100, "cat":"test" },
{"name": "Other", "ts": 80000, args: {}, "ph": "B", "tid": mainThread, "pid": 100, "cat":"test" },
{"name": "Other", "ts": 80000, args: {}, "ph": "E", "tid": mainThread, "pid": 100, "cat":"test" },
{"name": "Outer", "ts": 90000, args: {}, "ph": "B", "tid": mainThread, "pid": 100, "cat":"test" },
{"name": "Inner", "ts": 90000, args: {}, "ph": "X", "dur": 0, "ph": "X", "tid": mainThread, "pid": 100, "cat":"test" },
{"name": "Outer", "ts": 90000, args: {}, "ph": "E", "tid": mainThread, "pid": 100, "cat":"test" },
{"name": "Outer", "ts": 100000, args: {}, "ph": "X", "dur": 1000, "ph": "X", "tid": mainThread, "pid": 100, "cat":"test" },
{"name": "Inner", "ts": 100000, args: {}, "ph": "I", "tid": mainThread, "pid": 100, "cat":"test" },
{"name": "Outer", "ts": 110000, args: {}, "ph": "X", "dur": 1000, "ph": "X", "tid": mainThread, "pid": 100, "cat":"test" },
{"name": "Other", "ts": 111000, args: {}, "ph": "I", "tid": mainThread, "pid": 100, "cat":"test" },
{"name": "Outer", "ts": 120000, args: {}, "ph": "X", "dur": 1000, "ph": "X", "tid": mainThread, "pid": 100, "cat":"test" },
{"name": "Inner", "ts": 120999, args: {}, "ph": "I", "tid": mainThread, "pid": 100, "cat":"test" },
{"name": "Outer", "ts": 130000, args: {}, "ph": "I", "tid": mainThread, "pid": 100, "cat":"test" }
];
var model = InspectorTest.createTracingModel();
model.addEvents(testData);
model.tracingComplete();
var events = model.sortedProcesses()[0].threadById(mainThread).events();
for (var i = 0; i < events.length; ++i) {
var event = events[i];
InspectorTest.addResult(event.phase + " " + event.name + " " + event.startTime + " - " + event.endTime);
}
InspectorTest.completeTest();
}
</script>
</head>
<body onload="runTest()">
<p>Test that tracing model correctly processes trace events.
</p>
</body>
</html>