diff options
Diffstat (limited to 'accessible/tests/mochitest/scroll')
-rw-r--r-- | accessible/tests/mochitest/scroll/a11y.ini | 6 | ||||
-rw-r--r-- | accessible/tests/mochitest/scroll/test_zoom.html | 148 | ||||
-rw-r--r-- | accessible/tests/mochitest/scroll/test_zoom_text.html | 158 |
3 files changed, 312 insertions, 0 deletions
diff --git a/accessible/tests/mochitest/scroll/a11y.ini b/accessible/tests/mochitest/scroll/a11y.ini new file mode 100644 index 000000000..e2e9dfd48 --- /dev/null +++ b/accessible/tests/mochitest/scroll/a11y.ini @@ -0,0 +1,6 @@ +[DEFAULT] +support-files = + !/accessible/tests/mochitest/*.js + +[test_zoom.html] +[test_zoom_text.html] diff --git a/accessible/tests/mochitest/scroll/test_zoom.html b/accessible/tests/mochitest/scroll/test_zoom.html new file mode 100644 index 000000000..05dd3c444 --- /dev/null +++ b/accessible/tests/mochitest/scroll/test_zoom.html @@ -0,0 +1,148 @@ +<!DOCTYPE html> +<html> +<head> + <title>Test scrollToPoint when page is zoomed</title> + <link rel="stylesheet" type="text/css" + href="chrome://mochikit/content/tests/SimpleTest/test.css" /> + + <script type="application/javascript" + src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script> + <script type="application/javascript" + src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js"></script> + + <script type="application/javascript" + src="../common.js"></script> + <script type="application/javascript" + src="../role.js"></script> + <script type="application/javascript" + src="../layout.js"></script> + + <script type="application/javascript"> + function testScrollToPoint() + { + // scrollToPoint relative screen + var anchor = getAccessible("bottom1"); + var [x, y] = getPos(anchor); + var [docX, docY] = getPos(document); + + anchor.scrollToPoint(COORDTYPE_SCREEN_RELATIVE, docX, docY); + testPos(anchor, [x, docY]); + + // scrollToPoint relative window + anchor = getAccessible("bottom2"); + var [x, y] = getPos(anchor); + var wnd = getRootAccessible().DOMDocument.defaultView; + var [screenX, screenY] = CSSToDevicePixels(wnd, wnd.screenX, wnd.screenY); + var scrollToX = docX - screenX, scrollToY = docY - screenY; + + anchor.scrollToPoint(COORDTYPE_WINDOW_RELATIVE, scrollToX, scrollToY); + testPos(anchor, [x, docY]); + + // scrollToPoint relative parent + anchor = getAccessible("bottom3"); + var [x, y] = getPos(anchor); + var [parentX, parentY] = getPos(anchor.parent); + var scrollToX = parentX - docX, scrollToY = parentY - docY; + + anchor.scrollToPoint(COORDTYPE_PARENT_RELATIVE, scrollToX, scrollToY); + testPos(anchor, [x, docY]); + } + + function doTest() + { + testScrollToPoint(); + zoomDocument(document, 2.0); + testScrollToPoint(); // zoom and test again + + zoomDocument(document, 1.0); + SimpleTest.finish(); + } + + addA11yLoadEvent(doTest); + SimpleTest.waitForExplicitFinish(); + </script> + +</head> +<body> + + <a target="_blank" + href="https://bugzilla.mozilla.org/show_bug.cgi?id=727942" + title="scrollToPoint is broken when page is zoomed"> + Mozilla Bug 727942 + </a> + <p id="display"></p> + <div id="content" style="display: none"></div> + <pre id="test"> + </pre> + + <h1>Below there is a bunch of named anchors</h1> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + This is in the middle anchor #1<a id="bottom1"></a> + <br><br><br><br><br><br><br><br><br><br> + This is in the middle anchor #2<a id="bottom2"></a> + <br><br><br><br><br><br><br><br><br><br> + This is in the middle anchor #3<a id="bottom3"></a> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> + <br><br><br><br><br><br><br><br><br><br> +</body> +</html> diff --git a/accessible/tests/mochitest/scroll/test_zoom_text.html b/accessible/tests/mochitest/scroll/test_zoom_text.html new file mode 100644 index 000000000..3ef8fcded --- /dev/null +++ b/accessible/tests/mochitest/scroll/test_zoom_text.html @@ -0,0 +1,158 @@ +<!DOCTYPE html> +<html> +<head> + <title>Test scrollSubstringToPoint when page is zoomed</title> + <link rel="stylesheet" type="text/css" + href="chrome://mochikit/content/tests/SimpleTest/test.css" /> + + <script type="application/javascript" + src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script> + <script type="application/javascript" + src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js"></script> + + <script type="application/javascript" + src="../common.js"></script> + <script type="application/javascript" + src="../role.js"></script> + <script type="application/javascript" + src="../layout.js"></script> + <script type="application/javascript" + src="../browser.js"></script> + + <script type="application/javascript"> + function doTest() + { + var tabDocument = currentTabDocument(); + var paragraphNode = tabDocument.getElementById("paragraph"); + var paragraph = getAccessible(paragraphNode, [nsIAccessibleText]); + var offset = 64; // beginning of 4th stanza + + var [x, y] = getPos(paragraph); + var [docX, docY] = getPos(tabDocument); + + paragraph.scrollSubstringToPoint(offset, offset, + COORDTYPE_SCREEN_RELATIVE, docX, docY); + testTextPos(paragraph, offset, [x, docY], COORDTYPE_SCREEN_RELATIVE); + + zoomDocument(tabDocument, 2.0); + + paragraphNode = tabDocument.getElementById("paragraph2"); + paragraph = getAccessible(paragraphNode, [nsIAccessibleText]); + offset = 52; // // beginning of 4th stanza + var [x, y] = getPos(paragraph); + paragraph.scrollSubstringToPoint(offset, offset, + COORDTYPE_SCREEN_RELATIVE, docX, docY); + testTextPos(paragraph, offset, [x, docY], COORDTYPE_SCREEN_RELATIVE); + + closeBrowserWindow(); + SimpleTest.finish(); + } + + var url = "data:text/html,<html>" + + "<meta http-equiv='Content-Type' content='text/html;charset=utf-8' />" + + "<body>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br><hr>" + + "<p id='paragraph'>" + + " Пошел котик на торжок<br>" + + " Купил котик пирожок<br>" + + " Пошел котик на улочку<br>" + + " Купил котик булочку<br>" + + "</p>" + + "<hr><br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br><hr>" + + "<p id='paragraph2'>" + + " Самому ли съесть<br>" + + " Либо Сашеньке снесть<br>" + + " Я и сам укушу<br>" + + " Я и Сашеньке снесу<br>" + + "</p>" + + "<hr><br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "<br><br><br><br><br><br><br><br><br><br>" + + "</body></html>"; + + SimpleTest.waitForExplicitFinish(); + openBrowserWindow(doTest, + url, + { left: 0, top: 0, width: 600, height: 600 }); + </script> + +</head> +<body> + + <a target="_blank" + href="https://bugzilla.mozilla.org/show_bug.cgi?id=727942" + title="scrollSubstringToPoint is broken when page is zoomed"> + Mozilla Bug 727942 + </a> + <p id="display"></p> + <div id="content" style="display: none"></div> + <pre id="test"> + </pre> +</body> +</html> |