blob: 2327104c5d038caa9cf879d3b744d33b3358bd7a [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script>
if (window.testRunner)
testRunner.dumpAsText();
function getPositionOfNode(id)
{
var n = document.getElementById(id);
var pos = {x: 0, y: 0};
while (n) {
pos.x += n.offsetLeft + n.clientLeft;
pos.y += n.offsetTop + n.clientTop;
n = n.offsetParent;
}
return pos;
}
function doubleClickNode(id, offset)
{
var pos = getPositionOfNode(id);
eventSender.mouseMoveTo(pos.x + offset, pos.y + 2);
eventSender.mouseDown();
eventSender.leapForward(1);
eventSender.mouseUp();
eventSender.leapForward(100);
eventSender.mouseDown();
eventSender.leapForward(1);
eventSender.mouseUp();
}
function doTest(testId, offset, expectedText)
{
// Simulate a double click.
doubleClickNode(testId, offset);
// Get the text of the current selection.
var sel = window.getSelection();
var actualText = sel.getRangeAt(0).toString();
if (expectedText == actualText) {
log("Passed for offset " + offset);
} else {
log("Failed for offset " + offset);
log(" Expected: " + expectedText);
log(" Actual: " + actualText);
}
}
function runTests()
{
if (window.testRunner) {
doTest("test1", 55, "オーストラリア");
doTest("test1", 70, "オーストラリア");
doTest("test1", 85, "オーストラリア");
doTest("test1", 100, "オーストラリア");
doTest("test1", 115, "オーストラリア");
doTest("test1", 130, "オーストラリア");
}
}
function log(msg)
{
var l = document.getElementById('log');
l.appendChild(document.createTextNode(msg));
l.appendChild(document.createElement('br'));
}
</script>
</head>
<body onload="runTests()">
<p>
This tests that double-clicking on Japanese text.
</p>
<div>
<span id=test1>例えばオーストラリア</span>
</div>
<pre id=log>
</pre>
</body>
</html>