blob: f9c99e275a29dd4b2945c4cd805e504fdd9168b0 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<style>
#textDiv {
height: 200px;
width: 200px;
border: 1px solid black;
-webkit-writing-mode: vertical-rl;
}
</style>
<script src="../../resources/js-test-pre.js"></script>
<script>
function runTest() {
description('Testcase for bug <a href="https://bugs.webkit.org/show_bug.cgi?id=106452">106452</a>: Caret positioned at the end of a text line (followed by an empty block) in vertical writing mode disappears when pressing the right/down arrow key.\nTo manually verify the issue, place the caret at the end of the text line and then press either the down or the right arrow key.');
if (window.internals) {
var testDiv = document.getElementById('textDiv');
eventSender.mouseMoveTo(testDiv.offsetLeft + testDiv.offsetWidth - 5, testDiv.offsetTop);
eventSender.mouseDown();
eventSender.mouseUp();
caretRectAtStart = internals.absoluteCaretBounds(document);
eventSender.mouseMoveTo(testDiv.offsetLeft + testDiv.offsetWidth - 5, testDiv.offsetTop + testDiv.offsetHeight - 5);
eventSender.mouseDown();
eventSender.mouseUp();
caretRectAtEnd = internals.absoluteCaretBounds(document);
eventSender.keyDown("rightArrow");
caretRectRightKey = internals.absoluteCaretBounds(document);
eventSender.keyDown("downArrow");
caretRectDownKey = internals.absoluteCaretBounds(document);
shouldBe("caretRectAtEnd.width", "caretRectAtStart.width");
shouldBe("caretRectAtEnd.height", "caretRectAtStart.height");
shouldBe("caretRectRightKey.width", "caretRectAtEnd.width");
shouldBe("caretRectRightKey.height", "caretRectAtEnd.height");
shouldBe("caretRectDownKey.width", "caretRectAtEnd.width");
shouldBe("caretRectDownKey.height", "caretRectAtEnd.height");
testDiv.style.display = 'none';
}
}
</script>
</head>
<body onload="runTest();">
<div id="textDiv" contenteditable="true">Some text.<p></p></div>
<div id="description"></div>
<div id="console"></div>
</body>
</html>