Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / inspector / console / console-filter-test.html
1 <html>
2 <head>
3 <script src="../../http/tests/inspector/inspector-test.js"></script>
4 <script src="../../http/tests/inspector/console-test.js"></script>
5 <script src="resources/log-source.js"></script>
6 <script>
7 function log1()
8 {
9     console.log.apply(console, arguments);
10 }
11
12 // Create a mix of log messages from different source files
13 function onload()
14 {
15     for (var i = 0; i < 10; i++) {
16         if (i % 2 == 0)
17             log1(i + "topGroup"); // from console-filter-test.html
18         else
19             log2(i + "topGroup"); // from log-source.js
20     }
21
22     console.group("outerGroup");
23     for (var i = 10; i < 20; i++) {
24         if (i % 2 == 0)
25             log1(i + "outerGroup"); // from console-filter-test.html
26         else
27             log2(i + "outerGroup"); // from log-source.js
28     }
29     console.group("innerGroup");
30     for (var i = 20; i < 30; i++) {
31         if (i % 2 == 0)
32             log1(i + "innerGroup"); // from console-filter-test.html
33         else
34             log2(i + "innerGroup"); // from log-source.js
35     }
36     console.groupEnd();
37     console.groupEnd();
38
39     console.log("end");
40
41     runTest();
42 }
43
44 function test()
45 {
46     var messages = WebInspector.ConsolePanel._view()._visibleViewMessages;
47
48     function dumpVisibleMessages()
49     {
50         var messages = WebInspector.ConsolePanel._view()._visibleViewMessages;
51         for (var i = 0; i < messages.length; ++i) {
52             var viewMessage = messages[i];
53             var delimeter = viewMessage.consoleMessage().isGroupStartMessage() ? ">" : "";
54             var indent = "";
55             for (var j = 0; j < viewMessage.nestingLevel(); ++j)
56                 indent += "  ";
57             InspectorTest.addResult(indent + delimeter + viewMessage.toMessageElement().textContent);
58         }
59     }
60
61     var url1 = messages[0].consoleMessage().url;
62     var url2 = messages[1].consoleMessage().url;
63
64     InspectorTest.runTestSuite([
65         function beforeFilter(next)
66         {
67             InspectorTest.addResult(arguments.callee.name);
68             dumpVisibleMessages();
69             next();
70         },
71         function addURL1Filter(next)
72         {
73             WebInspector.ConsolePanel._view()._filter.addMessageURLFilter(url1);
74             dumpVisibleMessages();
75             next();
76         },
77         function addURL2Filter(next)
78         {
79             WebInspector.ConsolePanel._view()._filter.addMessageURLFilter(url2);
80             dumpVisibleMessages();
81             next();
82         },
83         function removeURL1Filter(next)
84         {
85             WebInspector.ConsolePanel._view()._filter.removeMessageURLFilter(url1);
86             dumpVisibleMessages();
87             next();
88         },
89         function restoreURL1Filter(next)
90         {
91             WebInspector.ConsolePanel._view()._filter.addMessageURLFilter(url1);
92             dumpVisibleMessages();
93             next();
94         },
95         function removeAllFilters(next)
96         {
97             WebInspector.ConsolePanel._view()._filter.removeMessageURLFilter();
98             dumpVisibleMessages();
99             next();
100         },
101         function checkTextFilter(next)
102         {
103             WebInspector.ConsolePanel._view()._filter._textFilterUI.setValue("outer");
104             dumpVisibleMessages();
105             next();
106         },
107         function checkResetFilter(next)
108         {
109             WebInspector.ConsolePanel._view()._filter.reset();
110             dumpVisibleMessages();
111             next();
112         }
113     ]);
114 }
115
116 </script>
117 </head>
118
119 <body onload="onload()">
120 <p>
121     Tests that console can filter messages by source.
122 </p>
123
124 </body>
125 </html>