mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-26 06:11:37 +00:00
ede8c44ef2
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
99 lines
3.2 KiB
HTML
99 lines
3.2 KiB
HTML
<!DOCTYPE HTML>
|
|
<html>
|
|
<!--
|
|
https://bugzilla.mozilla.org/show_bug.cgi?id=345267
|
|
-->
|
|
<head>
|
|
<title>Test for Bug 345267</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=345267">Mozilla Bug 345267</a>
|
|
<p id="display">
|
|
<input id="d1" maxlength="3" value="abcde">
|
|
<input id="d2" maxlength="3">
|
|
<input id="d3" maxlength="3">
|
|
<input id="d4" value="abcdefghijk">
|
|
<input id="target" value="abcdefghijklm" maxlength="3">
|
|
</p>
|
|
<div id="content" style="display: none">
|
|
<input id="u1" maxlength="3" value="abcdef">
|
|
<input id="u2" maxlength="3">
|
|
<input id="u3" maxlength="3">
|
|
<input id="u4" value="abcdefghijkl">
|
|
</div>
|
|
<pre id="test">
|
|
<script class="testbody" type="text/javascript">
|
|
|
|
/** Test for Bug 345267 **/
|
|
SimpleTest.waitForExplicitFinish();
|
|
// Turn off Spatial Navigation to stop if from hijacking "left" keypress event.
|
|
SpecialPowers.pushPrefEnv({"set":[['snav.enabled', false]]}, runTest);
|
|
|
|
function runTest() {
|
|
is($("d1").value, "abcde",
|
|
"Displayed initial value should not be truncated by maxlength");
|
|
is($("u1").value, "abcdef",
|
|
"Undisplayed initial value should not be truncated by maxlength");
|
|
|
|
$("d2").value = "abcdefg";
|
|
is($("d2").value, "abcdefg",
|
|
"Displayed set value should not be truncated by maxlength");
|
|
|
|
$("u2").value = "abcdefgh";
|
|
is($("u2").value, "abcdefgh",
|
|
"Undisplayed set value should not be truncated by maxlength");
|
|
|
|
$("d3").defaultValue = "abcdefghi";
|
|
is($("d3").value, "abcdefghi",
|
|
"Displayed set defaultValue should not be truncated by maxlength");
|
|
|
|
$("u3").defaultValue = "abcdefghij";
|
|
is($("u3").value, "abcdefghij",
|
|
"Undisplayed set defaultValue should not be truncated by maxlength");
|
|
|
|
$("d4").maxLength = "3";
|
|
is($("d4").value, "abcdefghijk",
|
|
"Displayed: setting maxLength should not truncate existing value");
|
|
|
|
$("u4").maxLength = "3";
|
|
is($("u4").value, "abcdefghijkl",
|
|
"Undisplayed: setting maxLength should not truncate existing value");
|
|
|
|
// Now start the editing tests
|
|
is($("target").value, "abcdefghijklm", "Test starting state incorrect");
|
|
$("target").focus();
|
|
$("target").selectionStart = $("target").selectionEnd = 13;
|
|
sendKey("back_space");
|
|
is($("target").value, "abcdefghijkl", "Should only delete one char");
|
|
sendKey("back_space");
|
|
is($("target").value, "abcdefghijk", "Should only delete one char again");
|
|
(function () {
|
|
SpecialPowers.wrap($("target")).controllers.getControllerForCommand('cmd_undo')
|
|
.doCommand('cmd_undo');
|
|
})();
|
|
is($("target").value, "abcdefghijklm",
|
|
"Should be able to undo deletion in the face of maxlength");
|
|
sendString("nopq");
|
|
is($("target").value, "abcdefghijklm",
|
|
"Typing should have no effect when already past maxlength");
|
|
|
|
$("target").value = "";
|
|
sendString("abcde");
|
|
is($("target").value, "abc", "Typing should be limited by maxlength");
|
|
|
|
$("target").value = "";
|
|
sendString("ad");
|
|
sendKey("left");
|
|
sendString("bc");
|
|
is($("target").value, "abd", "Typing should be limited by maxlength again");
|
|
SimpleTest.finish();
|
|
}
|
|
</script>
|
|
</pre>
|
|
</body>
|
|
</html>
|
|
|