| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html>  <head>    <title>Test</title>    <script type='text/javascript' language="javascript" src='jquery.js'></script>    <script type='text/javascript' language="javascript">    <!--    function mbox() {      alert('Javascript OK');    }    var totalCount = 10;    var pendingCount = 0;    var errorCount = 0;    var pushCount = 0;    var allErrorCount = 0;    var autoTest = false;    var testType = "cgi";    function NextTestType() {      if (testType == "cgi") testType = "lp";      else if (testType == "lp") testType = "lua";      else testType = "cgi";    }    function runTest(method, isAsync) {      ++pushCount;      document.getElementById('start').innerHTML = 'Test: ' + pushCount;      document.getElementById('resTotal').innerHTML = 'running';      for (var i = 1; i <= totalCount; ++i) {        document.getElementById('res'+i).innerHTML = "ready";      }      errorCount = 0;      pendingCount = totalCount;      for (var i = 1; i <= totalCount; ++i) {        fetch(i,  method, isAsync);      }    }        function runAutoTest() {      if (autoTest) {        runTest("POST", true)        setTimeout("runAutoTest()", 250)      }    }    function fetch(id, method, isAsync) {      document.getElementById('res'+id).innerHTML = "pending";      $.ajax({        async: isAsync,        url: 'echo.' + testType + '?id=' + id,        type: method,        timeout: 2000,        data: { 'id' : id ,                'longText1' : "adfsdfasdklkjlgasfdfjkhq345sdafbmkanq3trsdghkjqw4etrjlkabsdfkabvauiregtlkjasdbvabl4btrjawebbfjsdhbjk342r5bjksdbfkljbhasdfbhj234qjhasdg76k11234jhv900adfasddsfmzasdfhjgajsvhgkjhasdf77aefcae4fkjzasdfgukeaf7dkkegasdfigjcvxgui",                'longText2' : "bsdfsdfasdklkjlgasdfjkhq345sdafbmkanq3trsdghkjqw4etrjlkabsdfkabvauiregtlkjasdbvabl4btrjawebbfjsdhbjk342r5bjksdbfkljbhasdfbhj234qjhasdg76k11234jhv900adfasddsfmzasdfhjgajsvhgkjhasdf77aefcae4fkjzasdfgukeaf7dkkegasdfigjcvxgui",                'longText3' : "sdfsadagsdklkjlgasdfjkhq345sdafbmkanq3trsdghkjqw4etrjlkabsdfkabvauiregtlkjasdbvabl4btrjawebbfjsdhbjk342r5bjksdbfkljbhasdfbhj234qjhasdg76k11234jhv900adfasddsfmzasdfhjgajsvhgkjhasdf77aefcae4fkjzasdfgukeaf7dkkegasdfigjcvxgui",                'longText4' : "q34sdfas3fhbkjlgasdfjkhq345sdafbmkanq3trsdghkjqw4etrjlkabsdfkabvauiregtlkjasdbvabl4btrjawebbfjsdhbjk342r5bjksdbfkljbhasdfbhj234qjhasdg76k11234jhv900adfasddsfmzasdfhjgajsvhgkjhasdf77aefcae4fkjzasdfgukeaf7dkkegasdfigjcvxgui",                'longText5' : "askj2kjcvxychklgasdfjkhq345sdafbmkanq3trsdghkjqw4etrjlkabsdfkabvauiregtlkjasdbvabl4btrjawebbfjsdhbjk342r5bjksdbfkljbhasdfbhj234qjhasdg76k11234jhv900adfasddsfmzasdfhjgajsvhgkjhasdf77aefcae4fkjzasdfgukeaf7dkkegasdfigjcvxgui",                'longText6' : "asdfjklhlkjhv8öajsdfjkhq345sdafbmkanq3trsdghkjqw4etrjlkabsdfkabvauiregtlkjasdbvabl4btrjawebbfjsdhbjk342r5bjksdbfkljbhasdfbhj234qjhasdg76k11234jhv900adfasddsfmzasdfhjgajsvhgkjhasdf77aefcae4fkjzasdfgukeaf7dkkegasdfigjcvxgui",                'async' : isAsync              },        dataType: 'json',        succes: function(data) {        },        error: function() {          ++errorCount;        },        complete: function(jqXHR, textStatus) {          --pendingCount;          document.getElementById('res'+id).innerHTML = textStatus;          console.log('id: ' + id + ' (' + pendingCount + '/' + totalCount + '), status: ' + textStatus);          if (pendingCount == 0) {            document.getElementById('resTotal').innerHTML = 'done';            console.log('complete, error count: ' + errorCount);            allErrorCount = allErrorCount + errorCount;            document.getElementById('resSAll').innerHTML = 'total errors: ' + allErrorCount + "/" + (pushCount*totalCount);          }        }      });    }    //-->    </script>  </head>  <body>    <p>      <div id="start">Test not started.</div>    </p>    <p>      <table>        <tr>          <td>            <input id="testButton1" type="button" onclick="javascript:runTest('GET', false)" value="sync GET"></input>          </td>          <td>            <input id="testButton2" type="button" onclick="javascript:runTest('POST', false)" value="sync POST"></input>          </td>        </tr>        <tr>          <td>            <input id="testButton3" type="button" onclick="javascript:runTest('GET', true)" value="async GET"></input>          </td>          <td>            <input id="testButton4" type="button" onclick="javascript:runTest('POST', true)" value="async POST"></input>          </td>        </tr>        <tr>          <td>            <input id="testButton5" type="button" onclick="autoTest=!autoTest; javascript:runAutoTest()" value="automatic test"></input>          </td>                  <td>            <input id="testButton6" type="button" onclick="NextTestType(); this.value=testType" value='cgi'></input>          </td>                </tr>                <tr>          <td>            <input id="testButtonReset" type="button" onclick="autoTest=false; javascript:location.reload(true)" value="reset"></input>          </td>          <td>            <input id="testButtonBack" type="button" onclick="history.back()" value="back"></input>          </td>        </tr>        <tr>          <td>            <input id="testButtonBox" type="button" onclick="javascript:mbox()" value="MsgBox"></input>                      </td>          <td>          </td>        </tr>      </table>    </p>    <p>      <table border="1">        <tr><th>Test</th><th>Result</th></tr>        <tr><td>1</td><td><div id="res1">not started</div></td></tr>        <tr><td>2</td><td><div id="res2">not started</div></td></tr>        <tr><td>3</td><td><div id="res3">not started</div></td></tr>        <tr><td>4</td><td><div id="res4">not started</div></td></tr>        <tr><td>5</td><td><div id="res5">not started</div></td></tr>        <tr><td>6</td><td><div id="res6">not started</div></td></tr>        <tr><td>7</td><td><div id="res7">not started</div></td></tr>        <tr><td>8</td><td><div id="res8">not started</div></td></tr>        <tr><td>9</td><td><div id="res9">not started</div></td></tr>        <tr><td>10</td><td><div id="res10">not started</div></td></tr>      </table>      <div id="resTotal">Push [Test] to start.</div>      <div id="resSAll"></div>    </p>  </body></html>
 |