Branch data Line data Source code
1 [ + ]: 2 : import assert from 'node:assert/strict'; 2 : 2 : import { XMLHttpRequest } from '../../../lib/whatwg-xhr.js'; 3 : 2 : 4 [ + ]: 2 : export default (activeURL) => { 5 : 1 : 6 : 1 : let xhr = new XMLHttpRequest(); 7 : 1 : 8 : 1 : let result = []; 9 : 1 : let expected = [1, 4, 1, 'hello']; 10 : 1 : 11 : 1 : xhr.open('GET', `data:text/plain`); 12 : 1 : result.push(xhr.readyState); 13 : 1 : 14 : 1 : xhr.send(); 15 : 1 : 16 : 1 : xhr.onreadystatechange = () => { 17 : 0 : 18 : 0 : xhr.onreadystatechange = null; 19 : 0 : result.push(xhr.readyState); 20 : 0 : 21 : 0 : xhr.open('GET', `data:text/plain,hello`); 22 : 0 : 23 : 0 : xhr.onload = () => { 24 : 0 : result.push(xhr.responseText); 25 : 0 : assert.deepStrictEqual(result, expected); 26 : 0 : }; 27 : 0 : 28 : 0 : xhr.send(); 29 : 1 : }; 30 : 1 : 31 : 1 : xhr.abort(); 32 : 1 : result.push(xhr.readyState) // surprise! should not be "unsent" even though we called abort() 33 : 1 : } 34 : 2 : 35 : 2 : /* 36 : 2 : * open-send-during-abort.htm 37 : 2 : * 38 : 2 : 39 : 2 : <!doctype html> 40 : 2 : <title>XMLHttpRequest: open() during abort()</title> 41 : 2 : <script src="/resources/testharness.js"></script> 42 : 2 : <script src="/resources/testharnessreport.js"></script> 43 : 2 : <div id="log"></div> 44 : 2 : <script> 45 : 2 : async_test(t => { 46 : 2 : let result = [], 47 : 2 : client = new XMLHttpRequest(), 48 : 2 : expected = [1, 4, 1, 'hello'] 49 : 2 : client.open("GET", "data:text/plain,") 50 : 2 : result.push(client.readyState) 51 : 2 : client.send() 52 : 2 : client.onreadystatechange = t.step_func(() => { 53 : 2 : client.onreadystatechange = null 54 : 2 : result.push(client.readyState) 55 : 2 : client.open("GET", "data:text/plain,hello") 56 : 2 : client.onload = t.step_func_done(() => { 57 : 2 : result.push(client.responseText) 58 : 2 : assert_array_equals(result, expected) 59 : 2 : }) 60 : 2 : client.send() 61 : 2 : }) 62 : 2 : client.abort() 63 : 2 : result.push(client.readyState) // surprise! should not be "unsent" even though we called abort() 64 : 2 : }) 65 : 2 : </script> 66 : 2 : 67 : 2 : * 68 : 2 : * open-send-during-abort.htm 69 : 2 : */