gecko-dev/editor/libeditor/tests/test_bug1248128.html
Masayuki Nakano cf83ee7bb4 Bug 1438157 - part 2: Remove unnecessary second argument of EventUtils.synthesizeKey() r=smaug
Note that this patch also replaces legacy VK_* with KEY_*, and replaces
synthesizeKey() for inputting some characters with sendString() because
it's better and clearer what it does and it sets shiftKey state properly.

MozReview-Commit-ID: De4enbjux3T

--HG--
extra : rebase_source : 2296b84bff8e22f01eeb48cd8614fac5db11136a
2018-02-15 04:15:39 +09:00

53 lines
1.6 KiB
HTML

<!DOCTYPE HTML>
<html>
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=1248128
-->
<head>
<meta charset="utf-8">
<title>Test for Bug 1248128</title>
<script src="/tests/SimpleTest/SimpleTest.js"></script>
<script src="/tests/SimpleTest/EventUtils.js"></script>
<link rel="stylesheet" href="/tests/SimpleTest/test.css"/>
<script type="application/javascript">
SimpleTest.waitForExplicitFinish();
SimpleTest.waitForFocus(function() {
var outer = document.querySelector("html");
ok(outer.scrollTop == 0, "scrollTop is zero: got " + outer.scrollTop);
var input = document.getElementById("testInput");
input.focus();
var scroll = outer.scrollTop;
ok(scroll > 0, "element has scrolled: new value " + scroll);
try {
SpecialPowers.doCommand(window, "cmd_moveLeft");
ok(false, "should not be able to do kMoveLeft");
} catch (e) {
ok(true, "unable to perform kMoveLeft");
}
ok(outer.scrollTop == scroll,
"scroll is unchanged: got " + outer.scrollTop + ", expected " + scroll);
// Make sure cmd_moveLeft isn't failing for some unrelated reason
sendString("a");
is(input.selectionStart, 1, "selectionStart after typing");
SpecialPowers.doCommand(window, "cmd_moveLeft");
is(input.selectionStart, 0, "selectionStart after move left");
SimpleTest.finish();
});
</script>
</head>
<body>
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1248128">Mozilla Bug 1248128</a>
<div style="height: 2000px;"></div>
<input type="text" id="testInput"></input>
<div style="height: 200px;"></div>
</body>
</html>