summaryrefslogtreecommitdiffstats
path: root/layout/generic/test/test_bug288789.html
diff options
context:
space:
mode:
authorMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
committerMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
commit5f8de423f190bbb79a62f804151bc24824fa32d8 (patch)
tree10027f336435511475e392454359edea8e25895d /layout/generic/test/test_bug288789.html
parent49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff)
downloadUXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip
Add m-esr52 at 52.6.0
Diffstat (limited to 'layout/generic/test/test_bug288789.html')
-rw-r--r--layout/generic/test/test_bug288789.html117
1 files changed, 117 insertions, 0 deletions
diff --git a/layout/generic/test/test_bug288789.html b/layout/generic/test/test_bug288789.html
new file mode 100644
index 000000000..5c5e72569
--- /dev/null
+++ b/layout/generic/test/test_bug288789.html
@@ -0,0 +1,117 @@
+<!DOCTYPE HTML>
+<html>
+<!--
+https://bugzilla.mozilla.org/show_bug.cgi?id=288789
+-->
+<head>
+ <title>Test for Bug 288789</title>
+ <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
+ <script type="application/javascript" src="/tests/SimpleTest/EventUtils.js"></script>
+ <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
+</head>
+<body>
+<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=288789">Mozilla Bug 288789</a>
+<p id="display"></p>
+<div id="content">
+<textarea id="ta" dir="rtl">
+
+&#x05d0;a&#x05d1;
+
+</textarea>
+<textarea id="tb">
+
+abc
+
+</textarea>
+</div>
+<pre id="test">
+<script class="testbody" type="text/javascript">
+
+/** Test for Bug 288789 **/
+
+SimpleTest.waitForExplicitFinish();
+
+// This seems to be necessary because the selection is not set up properly otherwise
+setTimeout(test, 0);
+
+function test() {
+ var textarea = $("ta");
+
+ function collapse(offset) {
+ textarea.selectionStart = offset;
+ textarea.selectionEnd = offset;
+ }
+
+ function testRight(offset) {
+ synthesizeKey("VK_RIGHT", {});
+ is(textarea.selectionStart, offset, "Right movement broken");
+ }
+
+ function testLeft(offset) {
+ synthesizeKey("VK_LEFT", {});
+ is(textarea.selectionStart, offset, "Left movement broken");
+ }
+
+ textarea.focus();
+ collapse(0);
+ ok(true, "Testing forward movement in RTL mode");
+ for (var i = 0; i < textarea.textContent.length; ++i) {
+ if (i == 0) {
+ testRight(i);
+ }
+ if (textarea.textContent[i] == 'a') {
+ testLeft(i);
+ } else {
+ testLeft(i + 1);
+ }
+ if (i == textarea.textContent.length - 1) {
+ testLeft(i + 1);
+ }
+ }
+ ok(true, "Testing backward movement in RTL mode");
+ for (var i = textarea.textContent.length; i > 0; --i) {
+ if (i == textarea.textContent.length) {
+ testLeft(i);
+ }
+ if (i > 0 && textarea.textContent[i - 1] == 'a') {
+ testRight(i);
+ } else {
+ testRight(i - 1);
+ }
+ if (i == 1) {
+ testRight(i - 1);
+ }
+ }
+
+ textarea = $("tb");
+ textarea.focus();
+ collapse(0);
+ ok(true, "Testing forward movement in LTR mode");
+ for (var i = 0; i < textarea.textContent.length; ++i) {
+ if (i == 0) {
+ testLeft(i);
+ }
+ testRight(i + 1);
+ if (i == textarea.textContent.length - 1) {
+ testRight(i + 1);
+ }
+ }
+ ok(true, "Testing backward movement in LTR mode");
+ for (var i = textarea.textContent.length; i > 0; --i) {
+ if (i == textarea.textContent.length) {
+ testRight(i);
+ }
+ testLeft(i - 1);
+ if (i == 1) {
+ testLeft(i - 1);
+ }
+ }
+
+ SimpleTest.finish();
+}
+
+</script>
+</pre>
+</body>
+</html>
+