OLD | NEW |
1 <html> | 1 <html> |
2 <head> | 2 <head> |
3 <script src="../../http/tests/inspector/inspector-test.js"></script> | 3 <script src="../../http/tests/inspector/inspector-test.js"></script> |
4 <script src="../../http/tests/inspector/console-test.js"></script> | 4 <script src="../../http/tests/inspector/console-test.js"></script> |
5 <script> | 5 <script> |
6 function populateConsoleWithMessages(count) | 6 function populateConsoleWithMessages(count) |
7 { | 7 { |
8 for (var i = 0; i < count; ++i) | 8 for (var i = 0; i < count - 1; ++i) |
9 console.log("Message #" + i); | 9 console.log("Message #" + i); |
| 10 console.log("hello %cworld", "color: blue"); |
10 } | 11 } |
11 | 12 |
12 function test() | 13 function test() |
13 { | 14 { |
14 InspectorTest.fixConsoleViewportDimensions(600, 200); | 15 InspectorTest.fixConsoleViewportDimensions(600, 200); |
15 var consoleView = WebInspector.ConsolePanel._view(); | 16 var consoleView = WebInspector.ConsolePanel._view(); |
16 var viewport = consoleView._viewport; | 17 var viewport = consoleView._viewport; |
17 const minimumViewportMessagesCount = 10; | 18 const minimumViewportMessagesCount = 10; |
18 const messagesCount = 150; | 19 const messagesCount = 150; |
19 const middleMessage = messagesCount / 2; | 20 const middleMessage = messagesCount / 2; |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
139 next(); | 140 next(); |
140 }, | 141 }, |
141 | 142 |
142 function testShiftClickReversedSelectionBelow(next) | 143 function testShiftClickReversedSelectionBelow(next) |
143 { | 144 { |
144 emulateShiftClickOnMessage(messagesCount - minimumViewportMessagesCo
unt); | 145 emulateShiftClickOnMessage(messagesCount - minimumViewportMessagesCo
unt); |
145 dumpSelectionModel(); | 146 dumpSelectionModel(); |
146 dumpViewportRenderedItems(); | 147 dumpViewportRenderedItems(); |
147 next(); | 148 next(); |
148 }, | 149 }, |
| 150 |
| 151 function testZeroOffsetSelection(next) |
| 152 { |
| 153 viewport.forceScrollItemToBeLast(messagesCount - 1); |
| 154 var lastMessageElement = viewport.renderedElementAt(messagesCount -
1); |
| 155 // there is a blue-colored "world" span in last message. |
| 156 var blueSpan = lastMessageElement; |
| 157 while (blueSpan.nodeName !== "SPAN" || blueSpan.textContent !== "wor
ld") |
| 158 blueSpan = blueSpan.traverseNextNode(); |
| 159 |
| 160 window.getSelection().setBaseAndExtent(blueSpan, 0, blueSpan, blueSp
an.textContent.length); |
| 161 InspectorTest.addResult("Selected text: " + viewport._selectedText()
); |
| 162 next(); |
| 163 }, |
149 ]; | 164 ]; |
150 | 165 |
151 var awaitingMessagesCount = messagesCount; | 166 var awaitingMessagesCount = messagesCount; |
152 function messageAdded() | 167 function messageAdded() |
153 { | 168 { |
154 if (!--awaitingMessagesCount) | 169 if (!--awaitingMessagesCount) |
155 InspectorTest.runTestSuite(testSuite); | 170 InspectorTest.runTestSuite(testSuite); |
156 } | 171 } |
157 | 172 |
158 InspectorTest.addConsoleSniffer(messageAdded, true); | 173 InspectorTest.addConsoleSniffer(messageAdded, true); |
159 InspectorTest.evaluateInConsole(String.sprintf("populateConsoleWithMessages(
%d)", messagesCount)); | 174 InspectorTest.evaluateInPage(String.sprintf("populateConsoleWithMessages(%d)
", messagesCount)); |
160 | 175 |
161 function dumpSelectionModelElement(model) | 176 function dumpSelectionModelElement(model) |
162 { | 177 { |
163 if (!model) | 178 if (!model) |
164 return "null"; | 179 return "null"; |
165 return String.sprintf("{item: %d, offset: %d}", model.item, model.offset
); | 180 return String.sprintf("{item: %d, offset: %d}", model.item, model.offset
); |
166 } | 181 } |
167 | 182 |
168 function dumpSelectionModel() | 183 function dumpSelectionModel() |
169 { | 184 { |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
235 } | 250 } |
236 } | 251 } |
237 </script> | 252 </script> |
238 </head> | 253 </head> |
239 <body onload="runTest()"> | 254 <body onload="runTest()"> |
240 <p> | 255 <p> |
241 Tests that console viewport handles selection properly. | 256 Tests that console viewport handles selection properly. |
242 </p> | 257 </p> |
243 </body> | 258 </body> |
244 </html> | 259 </html> |
OLD | NEW |