<!doctype html>
<html>
  <head>
    <title>XMLHttpRequest: abort event should fire when stop() method is used</title>
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
    <link rel="help" href="https://xhr.spec.whatwg.org/#infrastructure-for-the-send()-method" data-tested-assertations="following::dt[3] following::dt[3]/following::dd[1]/p"/>
  </head>
  <body>
    <div id="log"></div>
    <script>
      var test = async_test();
      test.step(function() {
        var client = new XMLHttpRequest();
        var abortFired = false;
        client.onabort = test.step_func(function (e) {
          assert_equals(e.type, 'abort');
          abortFired = true;
        });
        client.open("GET", "resources/delay.py?ms=3000", true);
        client.send(null);
        setTimeout(function(){
          test.step(function(){
            assert_equals(abortFired, true);
            test.done();
          });
        }, 200);
        window.stop();
      });
    </script>
  </body>
</html>
