mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
203 lines
7.9 KiB
HTML
203 lines
7.9 KiB
HTML
<!DOCTYPE HTML>
|
|
<html>
|
|
<head>
|
|
<title>Satchel Test for Form Submisstion Field Cap</title>
|
|
<script type="text/javascript" src="/MochiKit/packed.js"></script>
|
|
<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
|
|
<script type="text/javascript" src="satchel_common.js"></script>
|
|
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
|
|
</head>
|
|
<body>
|
|
<p id="display"></p>
|
|
<div id="content" style="display: none">
|
|
<!--
|
|
Test for bug 492701.
|
|
Only change field # numInputFields (= MAX_FIELDS_SAVED + 1)
|
|
and test that it is actually saved and the other (unmodified) ones are not.
|
|
-->
|
|
<form id="form1" onsubmit="return checkSubmit(1)">
|
|
<input type="text" name="test1" value="1">
|
|
<input type="text" name="test2" value="2">
|
|
<input type="text" name="test3" value="3">
|
|
<input type="text" name="test4" value="4">
|
|
<input type="text" name="test5" value="5">
|
|
<input type="text" name="test6" value="6">
|
|
<input type="text" name="test7" value="7">
|
|
<input type="text" name="test8" value="8">
|
|
<input type="text" name="test9" value="9">
|
|
<input type="text" name="test10" value="10">
|
|
<input type="text" name="test11" value="11">
|
|
<input type="text" name="test12" value="12">
|
|
<input type="text" name="test13" value="13">
|
|
<input type="text" name="test14" value="14">
|
|
<input type="text" name="test15" value="15">
|
|
<input type="text" name="test16" value="16">
|
|
<input type="text" name="test17" value="17">
|
|
<input type="text" name="test18" value="18">
|
|
<input type="text" name="test19" value="19">
|
|
<input type="text" name="test20" value="20">
|
|
<input type="text" name="test21" value="21">
|
|
<input type="text" name="test22" value="22">
|
|
<input type="text" name="test23" value="23">
|
|
<input type="text" name="test24" value="24">
|
|
<input type="text" name="test25" value="25">
|
|
<input type="text" name="test26" value="26">
|
|
<input type="text" name="test27" value="27">
|
|
<input type="text" name="test28" value="28">
|
|
<input type="text" name="test29" value="29">
|
|
<input type="text" name="test30" value="30">
|
|
<input type="text" name="test31" value="31">
|
|
<input type="text" name="test32" value="32">
|
|
<input type="text" name="test33" value="33">
|
|
<input type="text" name="test34" value="34">
|
|
<input type="text" name="test35" value="35">
|
|
<input type="text" name="test36" value="36">
|
|
<input type="text" name="test37" value="37">
|
|
<input type="text" name="test38" value="38">
|
|
<input type="text" name="test39" value="39">
|
|
<input type="text" name="test40" value="40">
|
|
<input type="text" name="test41" value="41">
|
|
<input type="text" name="test42" value="42">
|
|
<input type="text" name="test43" value="43">
|
|
<input type="text" name="test44" value="44">
|
|
<input type="text" name="test45" value="45">
|
|
<input type="text" name="test46" value="46">
|
|
<input type="text" name="test47" value="47">
|
|
<input type="text" name="test48" value="48">
|
|
<input type="text" name="test49" value="49">
|
|
<input type="text" name="test50" value="50">
|
|
<input type="text" name="test51" value="51">
|
|
<input type="text" name="test52" value="52">
|
|
<input type="text" name="test53" value="53">
|
|
<input type="text" name="test54" value="54">
|
|
<input type="text" name="test55" value="55">
|
|
<input type="text" name="test56" value="56">
|
|
<input type="text" name="test57" value="57">
|
|
<input type="text" name="test58" value="58">
|
|
<input type="text" name="test59" value="59">
|
|
<input type="text" name="test60" value="60">
|
|
<input type="text" name="test61" value="61">
|
|
<input type="text" name="test62" value="62">
|
|
<input type="text" name="test63" value="63">
|
|
<input type="text" name="test64" value="64">
|
|
<input type="text" name="test65" value="65">
|
|
<input type="text" name="test66" value="66">
|
|
<input type="text" name="test67" value="67">
|
|
<input type="text" name="test68" value="68">
|
|
<input type="text" name="test69" value="69">
|
|
<input type="text" name="test70" value="70">
|
|
<input type="text" name="test71" value="71">
|
|
<input type="text" name="test72" value="72">
|
|
<input type="text" name="test73" value="73">
|
|
<input type="text" name="test74" value="74">
|
|
<input type="text" name="test75" value="75">
|
|
<input type="text" name="test76" value="76">
|
|
<input type="text" name="test77" value="77">
|
|
<input type="text" name="test78" value="78">
|
|
<input type="text" name="test79" value="79">
|
|
<input type="text" name="test80" value="80">
|
|
<input type="text" name="test81" value="81">
|
|
<input type="text" name="test82" value="82">
|
|
<input type="text" name="test83" value="83">
|
|
<input type="text" name="test84" value="84">
|
|
<input type="text" name="test85" value="85">
|
|
<input type="text" name="test86" value="86">
|
|
<input type="text" name="test87" value="87">
|
|
<input type="text" name="test88" value="88">
|
|
<input type="text" name="test89" value="89">
|
|
<input type="text" name="test90" value="90">
|
|
<input type="text" name="test91" value="91">
|
|
<input type="text" name="test92" value="92">
|
|
<input type="text" name="test93" value="93">
|
|
<input type="text" name="test94" value="94">
|
|
<input type="text" name="test95" value="95">
|
|
<input type="text" name="test96" value="96">
|
|
<input type="text" name="test97" value="97">
|
|
<input type="text" name="test98" value="98">
|
|
<input type="text" name="test99" value="99">
|
|
<input type="text" name="test100" value="100">
|
|
<input type="text" name="test101" value="101">
|
|
<button type="submit">Submit</button>
|
|
</form>
|
|
|
|
</div>
|
|
<pre id="test">
|
|
<script class="testbody" type="text/javascript">
|
|
|
|
var numSubmittedForms = 0;
|
|
var numInputFields = 101;
|
|
|
|
function startTest() {
|
|
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
|
|
ok(!fh.hasEntries, "checking for initially empty storage");
|
|
|
|
// Fill in values for the various fields. We could just set the <input>'s
|
|
// value attribute, but we don't save default form values (and we want to
|
|
// ensure unsaved values are because of autocomplete=off or whatever).
|
|
$_(1, "test" + numInputFields).value = numInputFields + " changed";
|
|
|
|
// submit the first form.
|
|
var button = getFormSubmitButton(1);
|
|
button.click();
|
|
}
|
|
|
|
|
|
// Called by each form's onsubmit handler.
|
|
function checkSubmit(formNum) {
|
|
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
|
|
|
|
ok(true, "form " + formNum + " submitted");
|
|
numSubmittedForms++;
|
|
|
|
// make sure that the first (numInputFields - 1) were not saved (as they were not changed)
|
|
for (i = 1; i < numInputFields; i++) {
|
|
ok(!fh.entryExists("test" + i, i), "checking unsaved value " + i);
|
|
}
|
|
|
|
// make sure that the field # numInputFields was saved
|
|
ok(fh.entryExists("test" + numInputFields, numInputFields + " changed"), "checking saved value " + numInputFields);
|
|
|
|
|
|
// End the test at the last form.
|
|
if (formNum == 1) {
|
|
is(numSubmittedForms, 1, "Ensuring all forms were submitted.");
|
|
SimpleTest.finish();
|
|
return false; // return false to cancel current form submission
|
|
}
|
|
|
|
// submit the next form.
|
|
var button = getFormSubmitButton(formNum + 1);
|
|
button.click();
|
|
|
|
return false; // cancel current form submission
|
|
}
|
|
|
|
|
|
function getFormSubmitButton(formNum) {
|
|
var form = $("form" + formNum); // by id, not name
|
|
ok(form != null, "getting form " + formNum);
|
|
|
|
// we can't just call form.submit(), because that doesn't seem to
|
|
// invoke the form onsubmit handler.
|
|
var button = form.firstChild;
|
|
while (button && button.type != "submit") { button = button.nextSibling; }
|
|
ok(button != null, "getting form submit button");
|
|
|
|
return button;
|
|
}
|
|
|
|
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
|
|
|
|
var fh = Components.classes["@mozilla.org/satchel/form-history;1"].
|
|
getService(Components.interfaces.nsIFormHistory2);
|
|
ok(fh != null, "Got formHistory service");
|
|
|
|
window.onload = startTest;
|
|
|
|
SimpleTest.waitForExplicitFinish();
|
|
|
|
</script>
|
|
</pre>
|
|
</body>
|
|
</html>
|