
this is some vertical text
Testcase for bug 102359: Caret is painted horizontally in vertical writing mode when there are no visible text.

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

The carets on the empty editable boxes should have the same orientation as that on the editable box containing some text. We thus compare the width and the height of the caret rects for verification. Width and height for all the three caret rects should be the same for the test to pass.
PASS emptyDivCaretRect.width is textDivCaretRect.width
PASS emptyDivCaretRect.height is textDivCaretRect.height
PASS emptyLineCaretRect.width is textDivCaretRect.width
PASS emptyLineCaretRect.height is textDivCaretRect.height
To verify the test manually on the browser, compare the orientation of the carets in all the boxes; it should be the same for all three.
PASS successfullyParsed is true

TEST COMPLETE

