summaryrefslogtreecommitdiffstats
path: root/accessible/tests/mochitest/scroll
diff options
context:
space:
mode:
Diffstat (limited to 'accessible/tests/mochitest/scroll')
-rw-r--r--accessible/tests/mochitest/scroll/a11y.ini6
-rw-r--r--accessible/tests/mochitest/scroll/test_zoom.html148
-rw-r--r--accessible/tests/mochitest/scroll/test_zoom_text.html158
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>