|
1 <!DOCTYPE HTML> |
|
2 <html> |
|
3 <head> |
|
4 <title>Satchel Test for Form Submisstion Field Cap</title> |
|
5 <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> |
|
6 <script type="text/javascript" src="satchel_common.js"></script> |
|
7 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> |
|
8 </head> |
|
9 <body> |
|
10 <p id="display"></p> |
|
11 <div id="content" style="display: none"> |
|
12 <!-- |
|
13 Test for bug 492701. |
|
14 Only change field # numInputFields (= MAX_FIELDS_SAVED + 1) |
|
15 and test that it is actually saved and the other (unmodified) ones are not. |
|
16 --> |
|
17 <form id="form1" onsubmit="return checkSubmit(1)"> |
|
18 <input type="text" name="test1" value="1"> |
|
19 <input type="text" name="test2" value="2"> |
|
20 <input type="text" name="test3" value="3"> |
|
21 <input type="text" name="test4" value="4"> |
|
22 <input type="text" name="test5" value="5"> |
|
23 <input type="text" name="test6" value="6"> |
|
24 <input type="text" name="test7" value="7"> |
|
25 <input type="text" name="test8" value="8"> |
|
26 <input type="text" name="test9" value="9"> |
|
27 <input type="text" name="test10" value="10"> |
|
28 <input type="text" name="test11" value="11"> |
|
29 <input type="text" name="test12" value="12"> |
|
30 <input type="text" name="test13" value="13"> |
|
31 <input type="text" name="test14" value="14"> |
|
32 <input type="text" name="test15" value="15"> |
|
33 <input type="text" name="test16" value="16"> |
|
34 <input type="text" name="test17" value="17"> |
|
35 <input type="text" name="test18" value="18"> |
|
36 <input type="text" name="test19" value="19"> |
|
37 <input type="text" name="test20" value="20"> |
|
38 <input type="text" name="test21" value="21"> |
|
39 <input type="text" name="test22" value="22"> |
|
40 <input type="text" name="test23" value="23"> |
|
41 <input type="text" name="test24" value="24"> |
|
42 <input type="text" name="test25" value="25"> |
|
43 <input type="text" name="test26" value="26"> |
|
44 <input type="text" name="test27" value="27"> |
|
45 <input type="text" name="test28" value="28"> |
|
46 <input type="text" name="test29" value="29"> |
|
47 <input type="text" name="test30" value="30"> |
|
48 <input type="text" name="test31" value="31"> |
|
49 <input type="text" name="test32" value="32"> |
|
50 <input type="text" name="test33" value="33"> |
|
51 <input type="text" name="test34" value="34"> |
|
52 <input type="text" name="test35" value="35"> |
|
53 <input type="text" name="test36" value="36"> |
|
54 <input type="text" name="test37" value="37"> |
|
55 <input type="text" name="test38" value="38"> |
|
56 <input type="text" name="test39" value="39"> |
|
57 <input type="text" name="test40" value="40"> |
|
58 <input type="text" name="test41" value="41"> |
|
59 <input type="text" name="test42" value="42"> |
|
60 <input type="text" name="test43" value="43"> |
|
61 <input type="text" name="test44" value="44"> |
|
62 <input type="text" name="test45" value="45"> |
|
63 <input type="text" name="test46" value="46"> |
|
64 <input type="text" name="test47" value="47"> |
|
65 <input type="text" name="test48" value="48"> |
|
66 <input type="text" name="test49" value="49"> |
|
67 <input type="text" name="test50" value="50"> |
|
68 <input type="text" name="test51" value="51"> |
|
69 <input type="text" name="test52" value="52"> |
|
70 <input type="text" name="test53" value="53"> |
|
71 <input type="text" name="test54" value="54"> |
|
72 <input type="text" name="test55" value="55"> |
|
73 <input type="text" name="test56" value="56"> |
|
74 <input type="text" name="test57" value="57"> |
|
75 <input type="text" name="test58" value="58"> |
|
76 <input type="text" name="test59" value="59"> |
|
77 <input type="text" name="test60" value="60"> |
|
78 <input type="text" name="test61" value="61"> |
|
79 <input type="text" name="test62" value="62"> |
|
80 <input type="text" name="test63" value="63"> |
|
81 <input type="text" name="test64" value="64"> |
|
82 <input type="text" name="test65" value="65"> |
|
83 <input type="text" name="test66" value="66"> |
|
84 <input type="text" name="test67" value="67"> |
|
85 <input type="text" name="test68" value="68"> |
|
86 <input type="text" name="test69" value="69"> |
|
87 <input type="text" name="test70" value="70"> |
|
88 <input type="text" name="test71" value="71"> |
|
89 <input type="text" name="test72" value="72"> |
|
90 <input type="text" name="test73" value="73"> |
|
91 <input type="text" name="test74" value="74"> |
|
92 <input type="text" name="test75" value="75"> |
|
93 <input type="text" name="test76" value="76"> |
|
94 <input type="text" name="test77" value="77"> |
|
95 <input type="text" name="test78" value="78"> |
|
96 <input type="text" name="test79" value="79"> |
|
97 <input type="text" name="test80" value="80"> |
|
98 <input type="text" name="test81" value="81"> |
|
99 <input type="text" name="test82" value="82"> |
|
100 <input type="text" name="test83" value="83"> |
|
101 <input type="text" name="test84" value="84"> |
|
102 <input type="text" name="test85" value="85"> |
|
103 <input type="text" name="test86" value="86"> |
|
104 <input type="text" name="test87" value="87"> |
|
105 <input type="text" name="test88" value="88"> |
|
106 <input type="text" name="test89" value="89"> |
|
107 <input type="text" name="test90" value="90"> |
|
108 <input type="text" name="test91" value="91"> |
|
109 <input type="text" name="test92" value="92"> |
|
110 <input type="text" name="test93" value="93"> |
|
111 <input type="text" name="test94" value="94"> |
|
112 <input type="text" name="test95" value="95"> |
|
113 <input type="text" name="test96" value="96"> |
|
114 <input type="text" name="test97" value="97"> |
|
115 <input type="text" name="test98" value="98"> |
|
116 <input type="text" name="test99" value="99"> |
|
117 <input type="text" name="test100" value="100"> |
|
118 <input type="text" name="test101" value="101"> |
|
119 <button type="submit">Submit</button> |
|
120 </form> |
|
121 |
|
122 </div> |
|
123 <pre id="test"> |
|
124 <script class="testbody" type="text/javascript"> |
|
125 |
|
126 var numSubmittedForms = 0; |
|
127 var numInputFields = 101; |
|
128 |
|
129 function checkInitialState() { |
|
130 countEntries(null, null, |
|
131 function (num) { |
|
132 ok(!num, "checking for initially empty storage"); |
|
133 startTest(); |
|
134 }); |
|
135 } |
|
136 |
|
137 function startTest() { |
|
138 // Fill in values for the various fields. We could just set the <input>'s |
|
139 // value attribute, but we don't save default form values (and we want to |
|
140 // ensure unsaved values are because of autocomplete=off or whatever). |
|
141 $_(1, "test" + numInputFields).value = numInputFields + " changed"; |
|
142 |
|
143 // submit the first form. |
|
144 var button = getFormSubmitButton(1); |
|
145 button.click(); |
|
146 } |
|
147 |
|
148 // Make sure that the first (numInputFields - 1) were not saved (as they were not changed). |
|
149 // Call done() when finished. |
|
150 function checkCountEntries(formNum, index, done) |
|
151 { |
|
152 countEntries("test" + index, index, |
|
153 function (num) { |
|
154 ok(!num, "checking unsaved value " + index); |
|
155 if (index < numInputFields) { |
|
156 checkCountEntries(formNum, index + 1, done); |
|
157 } |
|
158 else { |
|
159 done(formNum); |
|
160 } |
|
161 }); |
|
162 } |
|
163 |
|
164 // Called by each form's onsubmit handler. |
|
165 function checkSubmit(formNum) { |
|
166 ok(true, "form " + formNum + " submitted"); |
|
167 numSubmittedForms++; |
|
168 |
|
169 // make sure that the field # numInputFields was saved |
|
170 checkForSave("test" + numInputFields, numInputFields + " changed", "checking saved value " + numInputFields); |
|
171 |
|
172 checkCountEntries(formNum, 1, checkSubmitCounted); |
|
173 |
|
174 return false; // cancel current form submission |
|
175 } |
|
176 |
|
177 function checkSubmitCounted(formNum) { |
|
178 is(numSubmittedForms, 1, "Ensuring all forms were submitted."); |
|
179 SimpleTest.finish(); |
|
180 return false; |
|
181 } |
|
182 |
|
183 window.onload = checkInitialState; |
|
184 |
|
185 SimpleTest.waitForExplicitFinish(); |
|
186 |
|
187 </script> |
|
188 </pre> |
|
189 </body> |
|
190 </html> |