Testcase for bug 106452: 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. To 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.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".

PASS caretRectAtEnd.width is caretRectAtStart.width
PASS caretRectAtEnd.height is caretRectAtStart.height
PASS caretRectRightKey.width is caretRectAtEnd.width
PASS caretRectRightKey.height is caretRectAtEnd.height
PASS caretRectDownKey.width is caretRectAtEnd.width
PASS caretRectDownKey.height is caretRectAtEnd.height

