| <html> |
| <head> |
| <script src="../../http/tests/inspector/inspector-test.js"></script> |
| <script src="../../http/tests/inspector/timeline-test.js"></script> |
| <script> |
| |
| function test() |
| { |
| var sessionId = "4.20"; |
| var mainThread = 1; |
| var pid = 100; |
| |
| var testData = [ |
| { |
| "args": { "sessionId": sessionId }, |
| "cat": "disabled-by-default-devtools.timeline", |
| "name": "TracingStartedInPage", |
| "ph": "I", |
| "pid": pid, |
| "tid": mainThread, |
| "ts": 100, |
| }, |
| {"name": "top level event name", "ts": 1000000, "ph": "B", "tid": mainThread, "pid": pid, "cat":"toplevel", "args": {}}, |
| {"name": "TimeStamp", "ts": 1010000, "ph": "B", "tid": mainThread, "pid": pid, "cat":"disabled-by-default-devtools.timeline", "args": {"data":{"message":"bar01"}}}, |
| {"name": "TimeStamp", "ts": 1020000, "ph": "I", "tid": mainThread, "pid": pid, "cat":"disabled-by-default-devtools.timeline", "args": {"data":{"message":"bar02"}}}, |
| {"name": "TimeStamp", "ts": 1120000, "ph": "I", "tid": mainThread, "pid": pid, "cat":"disabled-by-default-devtools.timeline", "args": {"data":{"message":"bar03"}}}, |
| {"name": "TimeStamp", "ts": 1180000, "ph": "E", "tid": mainThread, "pid": pid, "cat":"disabled-by-default-devtools.timeline", "args": {}}, |
| {"name": "TimeStamp", "ts": 1210000, "ph": "B", "tid": mainThread, "pid": pid, "cat":"disabled-by-default-devtools.timeline", "args": {"data":{"message":"bar04"}}}, |
| {"name": "TimeStamp", "ts": 1220000, "ph": "I", "tid": mainThread, "pid": pid, "cat":"disabled-by-default-devtools.timeline", "args": {"data":{"message":"foo05"}}}, |
| {"name": "TimeStamp", "ts": 1320000, "ph": "I", "tid": mainThread, "pid": pid, "cat":"disabled-by-default-devtools.timeline", "args": {"data":{"message":"bar06"}}}, |
| {"name": "TimeStamp", "ts": 1380000, "ph": "E", "tid": mainThread, "pid": pid, "cat":"disabled-by-default-devtools.timeline", "args": {}}, |
| {"name": "TimeStamp", "ts": 1410000, "ph": "B", "tid": mainThread, "pid": pid, "cat":"disabled-by-default-devtools.timeline", "args": {"data":{"message":"bar07"}}}, |
| {"name": "TimeStamp", "ts": 1420000, "ph": "I", "tid": mainThread, "pid": pid, "cat":"disabled-by-default-devtools.timeline", "args": {"data":{"message":"foo08"}}}, |
| {"name": "TimeStamp", "ts": 1520000, "ph": "I", "tid": mainThread, "pid": pid, "cat":"disabled-by-default-devtools.timeline", "args": {"data":{"message":"foo09"}}}, |
| {"name": "TimeStamp", "ts": 1580000, "ph": "E", "tid": mainThread, "pid": pid, "cat":"disabled-by-default-devtools.timeline", "args": {}}, |
| {"name": "top level event name", "ts": 1990000, "ph": "E", "tid": mainThread, "pid": pid, "cat":"toplevel", "args": {}}, |
| {"name": "Program", "ts": 2000000, "ph": "B", "tid": mainThread, "pid": pid, "cat":"disabled-by-default-devtools.timeline", "args": {}}, |
| {"name": "TimeStamp", "ts": 2010000, "ph": "B", "tid": mainThread, "pid": pid, "cat":"disabled-by-default-devtools.timeline", "args": {"data":{"message":"foo10"}}}, |
| {"name": "TimeStamp", "ts": 2020000, "ph": "I", "tid": mainThread, "pid": pid, "cat":"disabled-by-default-devtools.timeline", "args": {"data":{"message":"bar11"}}}, |
| {"name": "TimeStamp", "ts": 2120000, "ph": "I", "tid": mainThread, "pid": pid, "cat":"disabled-by-default-devtools.timeline", "args": {"data":{"message":"bar12"}}}, |
| {"name": "TimeStamp", "ts": 2180000, "ph": "E", "tid": mainThread, "pid": pid, "cat":"disabled-by-default-devtools.timeline", "args": {}}, |
| {"name": "TimeStamp", "ts": 2210000, "ph": "B", "tid": mainThread, "pid": pid, "cat":"disabled-by-default-devtools.timeline", "args": {"data":{"message":"foo13"}}}, |
| {"name": "TimeStamp", "ts": 2220000, "ph": "I", "tid": mainThread, "pid": pid, "cat":"disabled-by-default-devtools.timeline", "args": {"data":{"message":"foo14"}}}, |
| {"name": "TimeStamp", "ts": 2320000, "ph": "I", "tid": mainThread, "pid": pid, "cat":"disabled-by-default-devtools.timeline", "args": {"data":{"message":"bar15"}}}, |
| {"name": "TimeStamp", "ts": 2380000, "ph": "E", "tid": mainThread, "pid": pid, "cat":"disabled-by-default-devtools.timeline", "args": {}}, |
| {"name": "TimeStamp", "ts": 2410000, "ph": "B", "tid": mainThread, "pid": pid, "cat":"disabled-by-default-devtools.timeline", "args": {"data":{"message":"foo16"}}}, |
| {"name": "TimeStamp", "ts": 2420000, "ph": "I", "tid": mainThread, "pid": pid, "cat":"disabled-by-default-devtools.timeline", "args": {"data":{"message":"foo17"}}}, |
| {"name": "TimeStamp", "ts": 2520000, "ph": "I", "tid": mainThread, "pid": pid, "cat":"disabled-by-default-devtools.timeline", "args": {"data":{"message":"foo18"}}}, |
| {"name": "TimeStamp", "ts": 2580000, "ph": "E", "tid": mainThread, "pid": pid, "cat":"disabled-by-default-devtools.timeline", "args": {}}, |
| {"name": "Program", "ts": 2590000, "ph": "E", "tid": mainThread, "pid": pid, "cat":"disabled-by-default-devtools.timeline", "args": {}} |
| ]; |
| |
| var panel = WebInspector.panels.timeline; |
| var model = InspectorTest.timelinePresentationModel(); |
| |
| InspectorTest.timelineModel().setEventsForTest(testData); |
| |
| function printRecord(record) |
| { |
| var prefix = []; |
| var current = record.presentationParent(); |
| while (current) { |
| current = current.presentationParent(); |
| prefix.push(" "); |
| } |
| var mark = record.expandable() ? (record.collapsed() ? "+" : "-") : " "; |
| InspectorTest.addResult(prefix.join("") + mark + record.record().traceEvent().args["data"].message); |
| } |
| |
| function dumpRecords() |
| { |
| var records = model.filteredRecords(); |
| for (var i = 0; i < records.length; ++i) |
| printRecord(records[i]); |
| InspectorTest.addResult(""); |
| } |
| |
| InspectorTest.addResult("Initial:"); |
| dumpRecords(); |
| |
| InspectorTest.addResult("Filtered by 'bar':"); |
| var textFilterUI = panel._filters._textFilterUI; |
| textFilterUI.setValue("bar"); |
| dumpRecords(); |
| |
| InspectorTest.addResult("Collapsed 'bar04' and 'foo13':"); |
| var records = model.filteredRecords(); |
| var collapseList = {"bar04":true, "foo13": true}; |
| for (var i = 0; i < records.length; ++i) { |
| var record = records[i]; |
| if (collapseList[record.record().traceEvent().args["data"].message]) |
| record.setCollapsed(true); |
| } |
| model.invalidateFilteredRecords(); |
| dumpRecords(); |
| |
| InspectorTest.addResult("Filtered by 'foo':"); |
| textFilterUI.setValue("foo"); |
| dumpRecords(); |
| |
| InspectorTest.completeTest(); |
| } |
| |
| </script> |
| </head> |
| |
| <body onload="runTest()"> |
| <p> |
| Test filtering on timeline panel.</a> |
| </p> |
| |
| </body> |
| </html> |