content/base/test/test_xhr_abort_after_load.html

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 <!DOCTYPE HTML>
     2 <html>
     3 <head>
     4   <title>Test bug 482935</title>
     5   <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
     6   <link rel="stylesheet" type="text/css" href="	/tests/SimpleTest/test.css" />
     7 </head>
     8 <body onload="onWindowLoad()">
     9 <script class="testbody" type="text/javascript">"use strict";
    10 SimpleTest.waitForExplicitFinish();
    12 var url = "file_XHR_pass1.xml";
    14 function onWindowLoad() {
    15   runTest();
    16 }
    18 function runTest() {
    19   var testFunctions = [
    20     startTest1,
    21     startTest2,
    22     startTest3,
    23   ];
    25   function nextTest() {
    26     if (testFunctions.length == 0) {
    27       SimpleTest.finish();
    28       return;
    29     }
    30     (testFunctions.shift())();
    31   }
    33   nextTest();
    35   var xhr;
    36   function startTest1() {
    37     xhr = new XMLHttpRequest();
    38     xhr.onload = onLoad1;
    39     xhr.open("GET", url);
    40     xhr.send();
    41   }
    43   function onLoad1() {
    44     is(xhr.readyState, xhr.DONE, "readyState should be DONE");
    45     xhr.onabort = onAbort1;
    46     xhr.abort();
    48     function onAbort1(e) {
    49       ok(false, e.type + " event should not be fired!");
    50     }
    52     is(xhr.readyState, xhr.UNSENT, "readyState should be UNSENT");
    53     nextTest();
    54   }
    56   function startTest2() {
    57     xhr = new XMLHttpRequest();
    58     xhr.onloadstart = onAfterSend;
    59     xhr.open("GET", url);
    60     xhr.send();
    61   }
    63   function startTest3() {
    64     xhr = new XMLHttpRequest();
    65     xhr.open("GET", url);
    66     xhr.send();
    67     onAfterSend();
    68   }
    70   function onAfterSend() {
    71     is(xhr.readyState, xhr.OPENED, "readyState should be OPENED");
    72     var sent = false;
    73     try {
    74       xhr.send();
    75     } catch (e) {
    76       sent = true;
    77     }
    78     ok(sent, "send() flag should be set");
    79     var aborted = false;
    80     xhr.onabort = onAbort2;
    81     xhr.abort();
    83     function onAbort2() {
    84       is(xhr.readyState, xhr.DONE, "readyState should be DONE");
    85       aborted = true;
    86     }
    88     ok(aborted, "abort event should be fired");
    89     is(xhr.readyState, xhr.UNSENT, "readyState should be UNSENT");
    90     nextTest();
    91   }
    92 }
    94 </script>
    95 </body>
    96 </html>

mercurial