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 : let timeout; 8 : 1 : 9 [ + ]: 1 : xhr.ontimeout = () => { 10 : 1 : assert.strictEqual(xhr.readyState, 4); 11 : 1 : xhr.ontimeout = null; 12 : 1 : clearTimeout(timeout); 13 : 1 : }; 14 : 1 : 15 : 1 : xhr.timeout = 5; 16 : 1 : xhr.open('GET', `${activeURL}/delay.py?ms=20000`); 17 : 1 : xhr.send(); 18 : 1 : 19 : 1 : timeout = setTimeout(() => { 20 : 0 : assert(false, 'ontimeout not called.'); 21 : 1 : }, 1000); 22 : 1 : } 23 : 2 : 24 : 2 : /* 25 : 2 : * event-timeout.any.js 26 : 2 : * 27 : 2 : // META: title=XMLHttpRequest: timeout event 28 : 2 : 29 : 2 : var test = async_test(); 30 : 2 : test.step(function () { 31 : 2 : var client = new XMLHttpRequest(); 32 : 2 : client.ontimeout = function () { 33 : 2 : test.step(function () { 34 : 2 : assert_equals(client.readyState, 4); 35 : 2 : test.done(); 36 : 2 : }); 37 : 2 : }; 38 : 2 : client.timeout = 5; 39 : 2 : client.open("GET", "resources/delay.py?ms=20000"); 40 : 2 : client.send(null); 41 : 2 : test.step_timeout(() => { 42 : 2 : assert_unreached("ontimeout not called."); 43 : 2 : }, 1000); 44 : 2 : }); 45 : 2 : 46 : 2 : * 47 : 2 : * event-timeout.any.js 48 : 2 : */