tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

abort-during-loading.window.js (1689B)


      1 // META: title=XMLHttpRequest: abort() during LOADING
      2 
      3      async_test(test => {
      4        var client = new XMLHttpRequest(),
      5            result = [],
      6            expected = [1, 2, 3, 4]
      7        client.onreadystatechange = test.step_func(function() {
      8          result.push(client.readyState);
      9          if (client.readyState === 3) {
     10            assert_equals(client.status, 200)
     11            assert_equals(client.statusText, "OK")
     12            assert_equals(client.responseXML, null)
     13            client.abort();
     14            assert_equals(client.readyState, 0)
     15            assert_equals(client.status, 0)
     16            assert_equals(client.statusText, "")
     17            assert_equals(client.responseXML, null)
     18            assert_equals(client.getAllResponseHeaders(), "")
     19          }
     20          if (client.readyState === 4) {
     21            assert_equals(client.readyState, 4)
     22            assert_equals(client.status, 0)
     23            assert_equals(client.statusText, "")
     24            assert_equals(client.responseXML, null)
     25            assert_equals(client.getAllResponseHeaders(), "")
     26          }
     27        })
     28        client.onloadend = test.step_func(function() {
     29          assert_equals(client.readyState, 4)
     30          assert_equals(client.status, 0)
     31          assert_equals(client.statusText, "")
     32          assert_equals(client.responseXML, null)
     33          assert_equals(client.getAllResponseHeaders(), "")
     34          test.step_timeout(function() {
     35            assert_array_equals(result, expected)
     36            test.done();
     37          }, 100); // wait a bit in case XHR timeout causes spurious event
     38        })
     39        client.open("GET", "resources/well-formed.xml")
     40        client.send(null)
     41      })