blob: 24d54459bcfeb3c89e739596b61c55b3af082ad7 [file] [edit]
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<script src="../resources/accessibility-helper.js"></script>
<script src="../resources/js-test.js"></script>
<style>
* { font-size: 24px; }
</style>
</head>
<body>
<div id="text-div" role="group">
<p>
<span>1: Line one line one</span><span contenteditable="false"> <br role="presentation"/></span>
<span>2: Line two line two</span><span contenteditable="false"></span>
</p>
<p>
<span>3: Line three line three</span><span contenteditable="false"> <br role="presentation"/></span>
<span>4: Line four line four </span><span contenteditable="false"></span>
</p>
<p>
<span>5: Line five line five</span><span contenteditable="false"> <br role="presentation"/></span>
<span>6: Line six line six</span><span contenteditable="false"></span>
</p>
<p>
<span>7: Line seven line seven</span><span contenteditable="false"> <br role="presentation"/></span>
<span>8: Line eight line eight </span><span contenteditable="false"></span>
</p>
<p>
<span>9: Line nine line nine</span><span contenteditable="false"> <br role="presentation"/></span>
<span>10: Line ten line ten</span><span contenteditable="false"></span>
</p>
<p>
<span>11: Line eleven line eleven</span><span contenteditable="false"> <br role="presentation"/></span>
<span>12: Line twelve line twelve</span><span contenteditable="false"></span>
</p>
<p>
<span>13: Line thirteen line thirteen</span><span contenteditable="false"> <br role="presentation"/></span>
<span>14: Line fourteen line fourteen</span><span contenteditable="false"></span>
</p>
<p>
<span>15: Line fifteen line fifteen</span><span contenteditable="false"> <br role="presentation"/></span>
<span>16: Line sixteen line sixteen</span><span contenteditable="false"></span>
</p>
<p>
<span>17: Line seventeen line seventeen</span><span contenteditable="false"> <br role="presentation"/></span>
<span>18: Line eighteen line eighteen</span><span contenteditable="false"></span>
</p>
<p>
<span>19: Line nineteen line nineteen</span><span contenteditable="false"> <br role="presentation"/></span>
<span>20: Line twenty line twenty </span><span contenteditable="false"></span>
</p>
<p>
<span>21: Line twentyone line twentyone</span><span contenteditable="false"> <br role="presentation"/></span>
<span>22: Line twentytwo line twentytwo</span><span contenteditable="false"></span>
</p>
<p>
<span>23: Line twentythree line twentythree</span><span contenteditable="false"> <br role="presentation"/></span>
<span>24: Line twentyfour line twentyfour</span><span contenteditable="false"></span>
</p>
<p>
<span>25: Line twentyfive line twentyfive</span><span contenteditable="false"> <br role="presentation"/></span>
<span>26: Line twentysix line twentysix</span><span contenteditable="false"></span>
</p>
<p>
<span>27: Line twentyseven line twentyseven</span><span contenteditable="false"> <br role="presentation"/></span>
<span>28: Line twentyeight line twentyeight</span><span contenteditable="false"></span>
</p>
</div>
<script>
var output = "This tests that visibleCharacterRange returns expected visible ranges with various scrollTop values.\n\n";
if (window.accessibilityController) {
window.jsTestIsAsync = true;
setTimeout(async function() {
const text = accessibilityController.accessibleElementById("text-div");
// The expectations for the main-thread implementation are the first string in each array, while the second
// string are the off-main-thread implementation expectations. The main-thread implementation expectations are
// egregiously wrong based on what I see when passing --show-window to the test runner.
output += await verifyVisibleRange(text, {width: 200, height: 500, scrollTop: 0}, ["{0, 181}"]);
output += await verifyVisibleRange(text, {width: 200, height: 500, scrollTop: 100}, ["{41, 793}", "{38, 172}"]);
output += await verifyVisibleRange(text, {width: 200, height: 500, scrollTop: 400}, ["{135, 699}", "{137, 204}"]);
output += await verifyVisibleRange(text, {width: 200, height: 500, scrollTop: 550}, ["{186, 648}", "{188, 227}"]);
output += await verifyVisibleRange(text, {width: 200, height: 500, scrollTop: 880}, ["{322, 513}", "{323, 220}"]);
output += await verifyVisibleRange(text, {width: 200, height: 500, scrollTop: 1020}, ["{402, 432}", "{386, 217}"]);
output += await verifyVisibleRange(text, {width: 200, height: 500, scrollTop: 1240}, ["{482, 352}", "{484, 203}"]);
document.getElementById("text-div").style.display = "none";
debug(output);
finishJSTest();
}, 0);
}
</script>
</body>
</html>