diff options
author | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
---|---|---|
committer | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
commit | 5f8de423f190bbb79a62f804151bc24824fa32d8 (patch) | |
tree | 10027f336435511475e392454359edea8e25895d /layout/generic/test/test_bug288789.html | |
parent | 49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff) | |
download | UXP-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.html | 117 |
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"> + +אaב + +</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> + |