3 <script src="../../http/tests/inspector/inspector-test.js"></script>
4 <script src="../../http/tests/inspector/timeline-test.js"></script>
10 {"startTime":1000,"data":{},"endTime":1990,"type":"Program","children":[
11 {"startTime":1010,"data":{"message":"bar01"},"endTime":1180,"type":"TimeStamp","children":[
12 {"startTime":1020,"data":{"message":"bar02"},"endTime":1070,"type":"TimeStamp"},
13 {"startTime":1120,"data":{"message":"bar03"},"endTime":1170,"type":"TimeStamp"}
15 {"startTime":1210,"data":{"message":"bar04"},"endTime":1380,"type":"TimeStamp","children":[
16 {"startTime":1220,"data":{"message":"foo05"},"endTime":1270,"type":"TimeStamp"},
17 {"startTime":1320,"data":{"message":"bar06"},"endTime":1370,"type":"TimeStamp"}
19 {"startTime":1410,"data":{"message":"bar07"},"endTime":1580,"type":"TimeStamp","children":[
20 {"startTime":1420,"data":{"message":"foo08"},"endTime":1470,"type":"TimeStamp"},
21 {"startTime":1520,"data":{"message":"foo09"},"endTime":1570,"type":"TimeStamp"}
24 {"startTime":2000,"data":{},"endTime":2590,"type":"Program","children":[
25 {"startTime":2010,"data":{"message":"foo10"},"endTime":2180,"type":"TimeStamp","children":[
26 {"startTime":2020,"data":{"message":"bar11"},"endTime":2070,"type":"TimeStamp"},
27 {"startTime":2120,"data":{"message":"bar12"},"endTime":2170,"type":"TimeStamp"}
29 {"startTime":2210,"data":{"message":"foo13"},"endTime":2380,"type":"TimeStamp","children":[
30 {"startTime":2220,"data":{"message":"foo14"},"endTime":2270,"type":"TimeStamp"},
31 {"startTime":2320,"data":{"message":"bar15"},"endTime":2370,"type":"TimeStamp"}
33 {"startTime":2410,"data":{"message":"foo16"},"endTime":2580,"type":"TimeStamp","children":[
34 {"startTime":2420,"data":{"message":"foo17"},"endTime":2470,"type":"TimeStamp"},
35 {"startTime":2520,"data":{"message":"foo18"},"endTime":2570,"type":"TimeStamp"}
40 var panel = WebInspector.inspectorView.showPanel("timeline");
41 var view = panel._currentViews[0];
42 var model = view._presentationModel;
44 function printRecord(record)
47 var current = record.presentationParent();
49 current = current.presentationParent();
52 var mark = record.expandable() ? (record.collapsed() ? "+" : "-") : " ";
53 InspectorTest.addResult(prefix.join("") + mark + record.record().data().message);
56 function dumpRecords()
58 var records = model.filteredRecords();
59 for (var i = 0; i < records.length; ++i)
60 printRecord(records[i]);
61 InspectorTest.addResult("");
64 InspectorTest.loadTimelineRecords(records);
66 InspectorTest.addResult("Initial:");
69 InspectorTest.addResult("Filtered by 'bar':");
70 panel._filters._textFilterUI.setValue("bar");
73 InspectorTest.addResult("Collapsed 'bar04' and 'foo13':");
74 var records = model.filteredRecords();
75 var collapseList = {"bar04":true, "foo13": true};
76 for (var i = 0; i < records.length; ++i) {
77 var record = records[i];
78 if (collapseList[record.record().data().message])
79 record.setCollapsed(true);
81 model.invalidateFilteredRecords();
84 InspectorTest.addResult("Filtered by 'foo':");
85 panel._filters._textFilterUI.setValue("foo");
88 InspectorTest.completeTest();
94 <body onload="runTest()">
96 Test filtering on timeline panel.</a>