| <!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> |