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.onloadend = (e) => { 11 : 1 : 12 : 1 : assert(e instanceof ProgressEvent); 13 : 1 : assert.strictEqual(e.type, 'loadend'); 14 : 1 : 15 : 1 : xhr.onloadend = null; 16 : 1 : xhr.onreadystatechange = null; 17 : 1 : 18 : 1 : clearTimeout(timeout); 19 : 1 : }; 20 : 1 : 21 [ + ]: 1 : xhr.onreadystatechange = () => { 22 [ + ]: 4 : if(xhr.readyState !== 4){ 23 : 3 : return; 24 [ + ]: 3 : } 25 : 1 : 26 : 1 : timeout = setTimeout(() => { 27 : 0 : assert(false, 'onloadend not called after 100 ms'); 28 : 1 : }, 100); 29 : 1 : }; 30 : 1 : 31 : 1 : xhr.open('GET', `${activeURL}/well-formed.xml`); 32 : 1 : xhr.send(); 33 : 1 : } 34 : 2 : 35 : 2 : /* 36 : 2 : * event-loadend.any.js 37 : 2 : * 38 : 2 : 39 : 2 : // META: title=XMLHttpRequest: loadend event 40 : 2 : 41 : 2 : var test = async_test(); 42 : 2 : test.step(function () { 43 : 2 : var client = new XMLHttpRequest(); 44 : 2 : client.onloadend = test.step_func(function (e) { 45 : 2 : assert_true(e instanceof ProgressEvent); 46 : 2 : assert_equals(e.type, "loadend"); 47 : 2 : test.done(); 48 : 2 : }); 49 : 2 : client.onreadystatechange = function () { 50 : 2 : if (client.readyState !== 4) return; 51 : 2 : test.step_timeout(() => { 52 : 2 : assert_unreached("onloadend not called after 100 ms"); 53 : 2 : }, 100); 54 : 2 : }; 55 : 2 : client.open("GET", "resources/well-formed.xml"); 56 : 2 : client.send(null); 57 : 2 : }); 58 : 2 : 59 : 2 : * 60 : 2 : * event-loadend.any.js 61 : 2 : */