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

Side by Side Diff: LayoutTests/editing/selection/block-cursor-overtype-mode.html

Issue 14859008: Use a block cursor in overtype mode (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 7 years, 7 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
OLDNEW
(Empty)
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <script type="text/javascript" src="../editing.js"></script>
5 <script src="../../fast/js/resources/js-test-pre.js" type="text/javascript"></sc ript>
6 </head>
7 <body style="font: 20px Ahem">
8 <p>This test checks that the cursor covers the next character to be overwritten in overtype mode instead of being painted as a caret (1px width bar)</p>
9 <div id="ltrtext" style="direction: ltr;" contenteditable="true">ABC</div>
10 <div id="ltrtext-rtl" style="direction: rtl;" contenteditable="true">ABC</div>
11 <div id="rtltext" style="direction: ltr;" contenteditable="true">&#x05e9;&#x05d3 ;&#x05df;</div>
12 <div id="rtltext-rtl" style="direction: rtl;" contenteditable="true">&#x05e9;&#x 05d3;&#x05df;</div>
13 <div id="mixed" style="direction: ltr;" contenteditable="true">&#x05e9;&#x05d3;& #x05df;ABC</div>
14 <div id="mixed-rtl" style="direction: rtl;" contenteditable="true">&#x05e9;&#x05 d3;&#x05df;ABC</div>
15 <div id="console"></div>
16 </body>
17 <script>
18
19 var blockCursorStartPosition;
20 var blockCursor;
21 var textNode;
22
23 function verifyBlockCursorLeftPositionAndWidth(elementId, expected)
24 {
25 blockCursorStartPosition = new Array();
26
27 var element = document.getElementById(elementId);
28 textNode = element.firstChild;
29 debug("Verifying block cursor position and width for each position in '" + t extNode.nodeValue + "' in a " + element.style.direction + " block");
30
31 for (var i = 0; i < textNode.length; i++) {
32 evalAndLog("getSelection().collapse(textNode, "+i+")");
33
34 blockCursor = internals.selectionBounds();
35 blockCursorStartPosition.push(blockCursor.left);
36
37 if (i > 0 && i < textNode.length) {
38 if (expected[i-1] == ">")
39 shouldBeTrue("blockCursorStartPosition["+(i-1)+"] > blockCursorS tartPosition["+i+"]");
40 else
41 shouldBeTrue("blockCursorStartPosition["+(i-1)+"] < blockCursorS tartPosition["+i+"]");
42 }
43
44 shouldBeTrue("getSelection().isCollapsed");
45 shouldBeTrue("blockCursor.width > 1");
46 shouldBe("internals.absoluteCaretBounds().width", "1");
47 }
48
49 evalAndLog("getSelection().collapse(textNode, "+i+")");
50 blockCursor = internals.selectionBounds();
51 shouldBeZero("blockCursor.width");
52 shouldBe("internals.absoluteCaretBounds().width", "1");
53 debug("");
54 }
55
56 if (window.testRunner) {
57
58 internals.toggleOverwriteModeEnabled(document);
59
60 verifyBlockCursorLeftPositionAndWidth("ltrtext", ["<", "<", "<"]);
61 verifyBlockCursorLeftPositionAndWidth("ltrtext-rtl", ["<", "<", "<"]);
62 verifyBlockCursorLeftPositionAndWidth("rtltext", [">", ">", ">"]);
63 verifyBlockCursorLeftPositionAndWidth("rtltext-rtl", [">", ">", ">"]);
64 verifyBlockCursorLeftPositionAndWidth("mixed", [">", ">", "<", "<", "<"]);
65 verifyBlockCursorLeftPositionAndWidth("mixed-rtl", [">", ">", ">", "<", "<"] );
66 }
67 </script>
68 <script src="../../fast/js/resources/js-test-post.js" type="text/javascript"></s cript>
69 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698