1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/toolkit/components/satchel/test/test_form_submission_cap2.html Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,190 @@ 1.4 +<!DOCTYPE HTML> 1.5 +<html> 1.6 +<head> 1.7 + <title>Satchel Test for Form Submisstion Field Cap</title> 1.8 + <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> 1.9 + <script type="text/javascript" src="satchel_common.js"></script> 1.10 + <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> 1.11 +</head> 1.12 +<body> 1.13 +<p id="display"></p> 1.14 +<div id="content" style="display: none"> 1.15 +<!-- 1.16 + Test for bug 492701. 1.17 + Only change field # numInputFields (= MAX_FIELDS_SAVED + 1) 1.18 + and test that it is actually saved and the other (unmodified) ones are not. 1.19 +--> 1.20 + <form id="form1" onsubmit="return checkSubmit(1)"> 1.21 + <input type="text" name="test1" value="1"> 1.22 + <input type="text" name="test2" value="2"> 1.23 + <input type="text" name="test3" value="3"> 1.24 + <input type="text" name="test4" value="4"> 1.25 + <input type="text" name="test5" value="5"> 1.26 + <input type="text" name="test6" value="6"> 1.27 + <input type="text" name="test7" value="7"> 1.28 + <input type="text" name="test8" value="8"> 1.29 + <input type="text" name="test9" value="9"> 1.30 + <input type="text" name="test10" value="10"> 1.31 + <input type="text" name="test11" value="11"> 1.32 + <input type="text" name="test12" value="12"> 1.33 + <input type="text" name="test13" value="13"> 1.34 + <input type="text" name="test14" value="14"> 1.35 + <input type="text" name="test15" value="15"> 1.36 + <input type="text" name="test16" value="16"> 1.37 + <input type="text" name="test17" value="17"> 1.38 + <input type="text" name="test18" value="18"> 1.39 + <input type="text" name="test19" value="19"> 1.40 + <input type="text" name="test20" value="20"> 1.41 + <input type="text" name="test21" value="21"> 1.42 + <input type="text" name="test22" value="22"> 1.43 + <input type="text" name="test23" value="23"> 1.44 + <input type="text" name="test24" value="24"> 1.45 + <input type="text" name="test25" value="25"> 1.46 + <input type="text" name="test26" value="26"> 1.47 + <input type="text" name="test27" value="27"> 1.48 + <input type="text" name="test28" value="28"> 1.49 + <input type="text" name="test29" value="29"> 1.50 + <input type="text" name="test30" value="30"> 1.51 + <input type="text" name="test31" value="31"> 1.52 + <input type="text" name="test32" value="32"> 1.53 + <input type="text" name="test33" value="33"> 1.54 + <input type="text" name="test34" value="34"> 1.55 + <input type="text" name="test35" value="35"> 1.56 + <input type="text" name="test36" value="36"> 1.57 + <input type="text" name="test37" value="37"> 1.58 + <input type="text" name="test38" value="38"> 1.59 + <input type="text" name="test39" value="39"> 1.60 + <input type="text" name="test40" value="40"> 1.61 + <input type="text" name="test41" value="41"> 1.62 + <input type="text" name="test42" value="42"> 1.63 + <input type="text" name="test43" value="43"> 1.64 + <input type="text" name="test44" value="44"> 1.65 + <input type="text" name="test45" value="45"> 1.66 + <input type="text" name="test46" value="46"> 1.67 + <input type="text" name="test47" value="47"> 1.68 + <input type="text" name="test48" value="48"> 1.69 + <input type="text" name="test49" value="49"> 1.70 + <input type="text" name="test50" value="50"> 1.71 + <input type="text" name="test51" value="51"> 1.72 + <input type="text" name="test52" value="52"> 1.73 + <input type="text" name="test53" value="53"> 1.74 + <input type="text" name="test54" value="54"> 1.75 + <input type="text" name="test55" value="55"> 1.76 + <input type="text" name="test56" value="56"> 1.77 + <input type="text" name="test57" value="57"> 1.78 + <input type="text" name="test58" value="58"> 1.79 + <input type="text" name="test59" value="59"> 1.80 + <input type="text" name="test60" value="60"> 1.81 + <input type="text" name="test61" value="61"> 1.82 + <input type="text" name="test62" value="62"> 1.83 + <input type="text" name="test63" value="63"> 1.84 + <input type="text" name="test64" value="64"> 1.85 + <input type="text" name="test65" value="65"> 1.86 + <input type="text" name="test66" value="66"> 1.87 + <input type="text" name="test67" value="67"> 1.88 + <input type="text" name="test68" value="68"> 1.89 + <input type="text" name="test69" value="69"> 1.90 + <input type="text" name="test70" value="70"> 1.91 + <input type="text" name="test71" value="71"> 1.92 + <input type="text" name="test72" value="72"> 1.93 + <input type="text" name="test73" value="73"> 1.94 + <input type="text" name="test74" value="74"> 1.95 + <input type="text" name="test75" value="75"> 1.96 + <input type="text" name="test76" value="76"> 1.97 + <input type="text" name="test77" value="77"> 1.98 + <input type="text" name="test78" value="78"> 1.99 + <input type="text" name="test79" value="79"> 1.100 + <input type="text" name="test80" value="80"> 1.101 + <input type="text" name="test81" value="81"> 1.102 + <input type="text" name="test82" value="82"> 1.103 + <input type="text" name="test83" value="83"> 1.104 + <input type="text" name="test84" value="84"> 1.105 + <input type="text" name="test85" value="85"> 1.106 + <input type="text" name="test86" value="86"> 1.107 + <input type="text" name="test87" value="87"> 1.108 + <input type="text" name="test88" value="88"> 1.109 + <input type="text" name="test89" value="89"> 1.110 + <input type="text" name="test90" value="90"> 1.111 + <input type="text" name="test91" value="91"> 1.112 + <input type="text" name="test92" value="92"> 1.113 + <input type="text" name="test93" value="93"> 1.114 + <input type="text" name="test94" value="94"> 1.115 + <input type="text" name="test95" value="95"> 1.116 + <input type="text" name="test96" value="96"> 1.117 + <input type="text" name="test97" value="97"> 1.118 + <input type="text" name="test98" value="98"> 1.119 + <input type="text" name="test99" value="99"> 1.120 + <input type="text" name="test100" value="100"> 1.121 + <input type="text" name="test101" value="101"> 1.122 + <button type="submit">Submit</button> 1.123 + </form> 1.124 + 1.125 +</div> 1.126 +<pre id="test"> 1.127 +<script class="testbody" type="text/javascript"> 1.128 + 1.129 +var numSubmittedForms = 0; 1.130 +var numInputFields = 101; 1.131 + 1.132 +function checkInitialState() { 1.133 + countEntries(null, null, 1.134 + function (num) { 1.135 + ok(!num, "checking for initially empty storage"); 1.136 + startTest(); 1.137 + }); 1.138 +} 1.139 + 1.140 +function startTest() { 1.141 + // Fill in values for the various fields. We could just set the <input>'s 1.142 + // value attribute, but we don't save default form values (and we want to 1.143 + // ensure unsaved values are because of autocomplete=off or whatever). 1.144 + $_(1, "test" + numInputFields).value = numInputFields + " changed"; 1.145 + 1.146 + // submit the first form. 1.147 + var button = getFormSubmitButton(1); 1.148 + button.click(); 1.149 +} 1.150 + 1.151 +// Make sure that the first (numInputFields - 1) were not saved (as they were not changed). 1.152 +// Call done() when finished. 1.153 +function checkCountEntries(formNum, index, done) 1.154 +{ 1.155 + countEntries("test" + index, index, 1.156 + function (num) { 1.157 + ok(!num, "checking unsaved value " + index); 1.158 + if (index < numInputFields) { 1.159 + checkCountEntries(formNum, index + 1, done); 1.160 + } 1.161 + else { 1.162 + done(formNum); 1.163 + } 1.164 + }); 1.165 +} 1.166 + 1.167 +// Called by each form's onsubmit handler. 1.168 +function checkSubmit(formNum) { 1.169 + ok(true, "form " + formNum + " submitted"); 1.170 + numSubmittedForms++; 1.171 + 1.172 + // make sure that the field # numInputFields was saved 1.173 + checkForSave("test" + numInputFields, numInputFields + " changed", "checking saved value " + numInputFields); 1.174 + 1.175 + checkCountEntries(formNum, 1, checkSubmitCounted); 1.176 + 1.177 + return false; // cancel current form submission 1.178 +} 1.179 + 1.180 +function checkSubmitCounted(formNum) { 1.181 + is(numSubmittedForms, 1, "Ensuring all forms were submitted."); 1.182 + SimpleTest.finish(); 1.183 + return false; 1.184 +} 1.185 + 1.186 +window.onload = checkInitialState; 1.187 + 1.188 +SimpleTest.waitForExplicitFinish(); 1.189 + 1.190 +</script> 1.191 +</pre> 1.192 +</body> 1.193 +</html>