blob: 843b49e62918493da15637a27323cce6f5489b07 [file] [log] [blame]
<!DOCTYPE HTML>
<script src="../resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script>
<p id="paragraph">Line 1<br>Line 2</p>
<script>
test(function(t) {
// Due to rounding we won't get identical bounds as getBoundingClientRect(),
// so allow the test to pass if we're within 1 pixel.
var epsilon = 1;
var axParagraph = accessibilityController.accessibleElementById("paragraph");
var axStaticText1 = axParagraph.childAtIndex(0);
eval("var axTextBounds1 = " + axStaticText1.boundsForRange(0, 6));
var paragraph = document.getElementById("paragraph");
var range = new Range();
range.setStart(paragraph.firstChild, 0);
range.setEnd(paragraph.firstChild, 6);
var rangeBounds = range.getBoundingClientRect();
assert_approx_equals(axTextBounds1.x, rangeBounds.left, epsilon, "Line 1 left");
assert_approx_equals(axTextBounds1.y, rangeBounds.top, epsilon, "Line 1 top");
assert_approx_equals(axTextBounds1.width, rangeBounds.width, epsilon, "Line 1 width");
assert_approx_equals(axTextBounds1.height, rangeBounds.height, epsilon, "Line 1 height");
var axStaticText2 = axParagraph.childAtIndex(2);
eval("var axTextBounds2 = " + axStaticText2.boundsForRange(0, 6));
range.setStart(paragraph.lastChild, 0);
range.setEnd(paragraph.lastChild, 6);
rangeBounds = range.getBoundingClientRect();
assert_approx_equals(axTextBounds2.x, rangeBounds.left, epsilon, "Line 2 left");
assert_approx_equals(axTextBounds2.y, rangeBounds.top, epsilon, "Line 2 top");
assert_approx_equals(axTextBounds2.width, rangeBounds.width, epsilon, "Line 2 width");
assert_approx_equals(axTextBounds2.height, rangeBounds.height, epsilon, "Line 2 height");
}, "Check bounds of inline text boxes after line breaks");
</script>