| <html> |
| <head> |
| <script src="../../http/tests/inspector/inspector-test.js"></script> |
| <script src="../../http/tests/inspector/console-test.js"></script> |
| <script src="resources/log-source.js"></script> |
| <script> |
| function log1() |
| { |
| console.log.apply(console, arguments); |
| } |
| |
| // Create a mix of log messages from different source files |
| function onload() |
| { |
| for (var i = 0; i < 10; i++) { |
| if (i % 2 == 0) |
| log1(i + "topGroup"); // from console-filter-test.html |
| else |
| log2(i + "topGroup"); // from log-source.js |
| } |
| |
| console.group("outerGroup"); |
| for (var i = 10; i < 20; i++) { |
| if (i % 2 == 0) |
| log1(i + "outerGroup"); // from console-filter-test.html |
| else |
| log2(i + "outerGroup"); // from log-source.js |
| } |
| console.group("innerGroup"); |
| for (var i = 20; i < 30; i++) { |
| if (i % 2 == 0) |
| log1(i + "innerGroup"); // from console-filter-test.html |
| else |
| log2(i + "innerGroup"); // from log-source.js |
| } |
| console.groupEnd(); |
| console.groupEnd(); |
| |
| console.log("end"); |
| |
| runTest(); |
| } |
| |
| function test() |
| { |
| var messagesElement = WebInspector.consoleView.messagesElement; |
| |
| function dumpVisibleMessages(root, indent) |
| { |
| indent = indent || ""; |
| root = root || WebInspector.consoleView.messagesElement.firstChild; // .console-group |
| var children = root.childNodes; |
| |
| for (var i = 0; i < children.length; i++) { |
| if (children[i].hasStyleClass("console-message")) { |
| InspectorTest.addResult(indent + ">" + children[i].textContent); |
| indent = indent + " "; |
| } else if (children[i].hasStyleClass("console-group-messages")) { |
| var groupMessages = children[i].childNodes; |
| for (var j = 0; j < groupMessages.length; j++) { |
| if (groupMessages[j].hasStyleClass("console-message")) |
| InspectorTest.addResult(indent + groupMessages[j].textContent); |
| else if (groupMessages[j].hasStyleClass("console-group")) |
| dumpVisibleMessages(groupMessages[j], indent); |
| } |
| } |
| } |
| } |
| |
| var groupMessages = messagesElement.querySelector(".console-group-messages"); |
| |
| var url1 = groupMessages.childNodes[0].message.url; |
| var url2 = groupMessages.childNodes[1].message.url; |
| |
| InspectorTest.runTestSuite([ |
| function beforeFilter(next) |
| { |
| InspectorTest.addResult(arguments.callee.name); |
| dumpVisibleMessages(); |
| next(); |
| }, |
| function addURL1Filter(next) |
| { |
| WebInspector.consoleView._addMessageURLFilter(url1); |
| dumpVisibleMessages(); |
| next(); |
| }, |
| function addURL2Filter(next) |
| { |
| WebInspector.consoleView._addMessageURLFilter(url2); |
| dumpVisibleMessages(); |
| next(); |
| }, |
| function removeURL1Filter(next) |
| { |
| WebInspector.consoleView._removeMessageURLFilter(url1); |
| dumpVisibleMessages(); |
| next(); |
| }, |
| function restoreURL1Filter(next) |
| { |
| WebInspector.consoleView._addMessageURLFilter(url1); |
| dumpVisibleMessages(); |
| next(); |
| }, |
| function removeAllFilters(next) |
| { |
| WebInspector.consoleView._removeMessageURLFilter(); |
| dumpVisibleMessages(); |
| next(); |
| } |
| ]); |
| } |
| |
| </script> |
| </head> |
| |
| <body onload="onload()"> |
| <p> |
| Tests that console can filter messages by source. |
| </p> |
| |
| </body> |
| </html> |