| <!doctype html> |
| <title>XMLHttpRequest: open() during abort()</title> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <div id="log"></div> |
| <script> |
| async_test(t => { |
| let result = [], |
| client = new XMLHttpRequest(), |
| expected = [1, 4, 1, 'hello'] |
| client.open("GET", "data:text/plain,") |
| result.push(client.readyState) |
| client.send() |
| client.onreadystatechange = t.step_func(() => { |
| client.onreadystatechange = null |
| result.push(client.readyState) |
| client.open("GET", "data:text/plain,hello") |
| client.onload = t.step_func_done(() => { |
| result.push(client.responseText) |
| assert_array_equals(result, expected) |
| }) |
| client.send() |
| }) |
| client.abort() |
| result.push(client.readyState) // surprise! should not be "unsent" even though we called abort() |
| }) |
| </script> |