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 : import { ProgressEvent } from '../../../lib/whatwg-xhr.js'; 4 : 2 : 5 [ + ]: 2 : export default (activeURL) => { 6 : 1 : 7 : 1 : let xhr = new XMLHttpRequest(); 8 : 1 : let timeout; 9 : 1 : 10 [ + ]: 1 : xhr.onload = (e) => { 11 : 1 : 12 : 1 : assert(e instanceof ProgressEvent); 13 : 1 : assert.strictEqual(e.type, 'load'); 14 : 1 : assert.strictEqual(xhr.readyState, 4); 15 : 1 : 16 : 1 : xhr.onload = null; 17 : 1 : xhr.onreadystatechange = null; 18 : 1 : 19 : 1 : clearTimeout(timeout); 20 : 1 : }; 21 : 1 : 22 [ + ]: 1 : xhr.onreadystatechange = () => { 23 [ + ]: 4 : if(xhr.readyState !== 4){ 24 : 3 : return; 25 [ + ]: 3 : } 26 : 1 : 27 : 1 : timeout = setTimeout(() => { 28 : 0 : assert(false, "Didn't get load event within 4ms of readystatechange==4"); 29 : 1 : }, 4); 30 : 1 : }; 31 : 1 : 32 : 1 : xhr.open('GET', `${activeURL}/well-formed.xml`); 33 : 1 : xhr.send(); 34 : 1 : } 35 : 2 : 36 : 2 : /* 37 : 2 : * event-load.any.js 38 : 2 : * 39 : 2 : 40 : 2 : // META: title=XMLHttpRequest: The send() method: Fire an event named load (synchronous flag is unset) 41 : 2 : 42 : 2 : var test = async_test(); 43 : 2 : test.step(function () { 44 : 2 : var client = new XMLHttpRequest(); 45 : 2 : client.onload = test.step_func(function (e) { 46 : 2 : assert_true(e instanceof ProgressEvent); 47 : 2 : assert_equals(e.type, "load"); 48 : 2 : assert_equals(client.readyState, 4); 49 : 2 : test.done(); 50 : 2 : }); 51 : 2 : client.onreadystatechange = test.step_func(function () { 52 : 2 : if (client.readyState !== 4) return; 53 : 2 : 54 : 2 : test.step_timeout(() => { 55 : 2 : assert_unreached("Didn't get load event within 4ms of readystatechange==4"); 56 : 2 : }, 4); 57 : 2 : }); 58 : 2 : client.open("GET", "resources/well-formed.xml"); 59 : 2 : client.send(null); 60 : 2 : }); 61 : 2 : 62 : 2 : * 63 : 2 : * event-load.any.js 64 : 2 : */