toolkit/components/satchel/test/test_form_submission_cap2.html

Sat, 03 Jan 2015 20:18:00 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Sat, 03 Jan 2015 20:18:00 +0100
branch
TOR_BUG_3246
changeset 7
129ffea94266
permissions
-rw-r--r--

Conditionally enable double key logic according to:
private browsing mode or privacy.thirdparty.isolate preference and
implement in GetCookieStringCommon and FindCookie where it counts...
With some reservations of how to convince FindCookie users to test
condition and pass a nullptr when disabling double key logic.

     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>
   122 </div>
   123 <pre id="test">
   124 <script class="testbody" type="text/javascript">
   126 var numSubmittedForms = 0;
   127 var numInputFields = 101;
   129 function checkInitialState() {
   130   countEntries(null, null,
   131     function (num) {
   132       ok(!num, "checking for initially empty storage");
   133       startTest();
   134     });
   135 }
   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";
   143   // submit the first form.
   144   var button = getFormSubmitButton(1);
   145   button.click();
   146 }
   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 }
   164 // Called by each form's onsubmit handler.
   165 function checkSubmit(formNum) {
   166   ok(true, "form " + formNum + " submitted");
   167   numSubmittedForms++;
   169   // make sure that the field # numInputFields was saved
   170   checkForSave("test" + numInputFields, numInputFields + " changed", "checking saved value " + numInputFields);
   172   checkCountEntries(formNum, 1, checkSubmitCounted);
   174   return false; // cancel current form submission
   175 }
   177 function checkSubmitCounted(formNum) {
   178   is(numSubmittedForms, 1, "Ensuring all forms were submitted.");
   179   SimpleTest.finish();
   180   return false;
   181 }
   183 window.onload = checkInitialState;
   185 SimpleTest.waitForExplicitFinish();
   187 </script>
   188 </pre>
   189 </body>
   190 </html>

mercurial