Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(536)

Side by Side Diff: LayoutTests/inspector/console/console-viewport-selection.html

Issue 397073006: DevTools: [Console] fix corner case in viewport text selection (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: rebaseline Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | LayoutTests/inspector/console/console-viewport-selection-expected.txt » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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>
OLDNEW
« no previous file with comments | « no previous file | LayoutTests/inspector/console/console-viewport-selection-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698