54 lines
1.8 KiB
HTML
54 lines
1.8 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<script src="../../resources/js-test-pre.js"></script>
|
|
<title>Line Range for Text Marker</title>
|
|
</head>
|
|
<body>
|
|
|
|
<div id="container">
|
|
<p>Before.</p>
|
|
<p id="line">Line of text.</p>
|
|
<p>After.</p>
|
|
</div>
|
|
|
|
<p id="description"></p>
|
|
<div id="console"></div>
|
|
|
|
<script>
|
|
description("This tests that line range is returned correctly for a given text marker.");
|
|
|
|
var lineText = 0;
|
|
|
|
function lineTextForPoint(x, y) {
|
|
// Get the element for this point.
|
|
var element = accessibilityController.elementAtPoint(x, y);
|
|
// Get the text marker for this point.
|
|
var marker = element.textMarkerForPoint(x, y);
|
|
// Get the line text marker range for this text marker.
|
|
var range = element.lineTextMarkerRangeForTextMarker(marker);
|
|
// Return the text for this line text marker range.
|
|
return element.stringForTextMarkerRange(range);
|
|
}
|
|
|
|
if (window.accessibilityController) {
|
|
var line = accessibilityController.accessibleElementById("line");
|
|
// Line text from first text marker (add one to make sure we get the first marker for THIS line).
|
|
lineText = lineTextForPoint(line.x + 1, line.y + 1);
|
|
shouldBe("lineText", "'Line of text.'");
|
|
// Line text from center text marker.
|
|
lineText = lineTextForPoint(line.x + line.width / 2, line.y + line.height / 2);
|
|
shouldBe("lineText", "'Line of text.'");
|
|
// Line text from last text marker (subtract one to make sure we get the last marker for THIS line).
|
|
lineText = lineTextForPoint(line.x + line.width - 1, line.y + line.height - 1);
|
|
shouldBe("lineText", "'Line of text.'");
|
|
|
|
// Hide superfluous text.
|
|
document.getElementById("container").style.display = "none";
|
|
}
|
|
</script>
|
|
|
|
<script src="../../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|