blob: e5bf28660cc378b6aeebbc36d3be9f9299defa94 [file] [log] [blame]
<html>
<head>
<style>
body { margin: 10; padding: 0 }
</style>
</head>
<body contenteditable>
12<b>3<i>4</i></b>
<script type="text/javascript">
var console_messages = document.createElement("ol");
function log(message)
{
var item = document.createElement("li");
item.appendChild(document.createTextNode(message));
console_messages.appendChild(item);
}
function logRect(comment, start, length)
{
log(comment + ": (" + start + "," + length + "), ("
+ textInputController.firstRectForCharacterRange(start, length) + ")");
}
if (window.testRunner) {
try {
testRunner.dumpAsText();
window.getSelection().setPosition(document.body, 4);
textInputController.setMarkedText("56", 0, 1);
logRect("caret at the beginning", 0, 0);
logRect("caret after the first character", 1, 0);
logRect("caret at the end of line", 6, 0);
logRect("caret at the end of line", 6, 100);
logRect("first character", 0, 1);
logRect("last character", 5, 1);
logRect("last character", 5, 2);
logRect("last character", 5, 100);
logRect("first line", 0, 6);
logRect("first line", 0, 7);
logRect("first line", 0, 4294967295);
logRect("first line without the first character", 1, 4294967295);
logRect("out of bounds, clamped to the end", 7, 0);
logRect("out of bounds, clamped to the end", 1000, 0);
logRect("out of bounds, clamped to the end", 7, 1);
logRect("out of bounds, clamped to the end", 7, 4294967295);
} catch (ex) {
log("Exception: " + ex.description);
}
var console = document.createElement("p");
console.appendChild(console_messages);
document.body.appendChild(console);
} else {
document.write("(cannot run interactively)");
}
</script>
</body>
</html>