forked from mirrors/gecko-dev
This excludes dom/, otherwise the file size is too large for phabricator to handle. This is an autogenerated commit to handle scripts loading mochitest harness files, in the simple case where the script src is on the same line as the tag. This was generated with https://bug1544322.bmoattachments.org/attachment.cgi?id=9058170 using the `--part 2` argument. Differential Revision: https://phabricator.services.mozilla.com/D27456 --HG-- extra : moz-landing-system : lando
117 lines
2.5 KiB
HTML
117 lines
2.5 KiB
HTML
<!DOCTYPE HTML>
|
|
<html>
|
|
<!--
|
|
https://bugzilla.mozilla.org/show_bug.cgi?id=288789
|
|
-->
|
|
<head>
|
|
<title>Test for Bug 288789</title>
|
|
<script src="/tests/SimpleTest/SimpleTest.js"></script>
|
|
<script 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("KEY_ArrowRight");
|
|
is(textarea.selectionStart, offset, "Right movement broken");
|
|
}
|
|
|
|
function testLeft(offset) {
|
|
synthesizeKey("KEY_ArrowLeft");
|
|
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>
|
|
|