blob: 5ed1edb9de92a68d3a0750fc075c8046753e4464 [file] [log] [blame]
var blockCursorStartPosition;
var blockCursor;
var textNode;
function verifyBlockCursorLeftPositionAndWidth(elementId, expected)
{
blockCursorStartPosition = new Array();
var element = document.getElementById(elementId);
textNode = element.firstChild;
debug("Verifying block cursor position and width for each position in '" + textNode.nodeValue + "' in a " + element.style.direction + " block");
for (var i = 0; i < textNode.length; i++) {
evalAndLog("getSelection().collapse(textNode, "+i+")");
blockCursor = internals.selectionBounds();
blockCursorStartPosition.push(blockCursor.left);
if (i > 0 && i < textNode.length) {
if (expected[i-1] == ">")
shouldBeTrue("blockCursorStartPosition["+(i-1)+"] > blockCursorStartPosition["+i+"]");
else
shouldBeTrue("blockCursorStartPosition["+(i-1)+"] < blockCursorStartPosition["+i+"]");
}
shouldBeTrue("getSelection().isCollapsed");
shouldBeTrue("blockCursor.width > 1");
shouldBe("internals.absoluteCaretBounds().width", "1");
}
evalAndLog("getSelection().collapse(textNode, "+i+")");
blockCursor = internals.selectionBounds();
shouldBeZero("blockCursor.width");
shouldBe("internals.absoluteCaretBounds().width", "1");
debug("");
}