toolkit/components/satchel/test/test_form_submission_cap2.html

branch
TOR_BUG_9701
changeset 15
b8a032363ba2
equal deleted inserted replaced
-1:000000000000 0:5990cbba4d6b
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>

mercurial