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.upload.onloadstart = (e) => { 11 : 1 : 12 : 1 : assert(e instanceof ProgressEvent); 13 : 1 : 14 : 1 : assert.strictEqual(e.type, 'loadstart'); 15 : 1 : assert.strictEqual(e.total, 7, 'upload.onloadstart: event.total'); 16 : 1 : assert.strictEqual(e.loaded, 0, 'upload.onloadstart: event.loaded'); 17 : 1 : 18 : 1 : xhr.onreadystatechange = null; 19 : 1 : }; 20 : 1 : 21 [ + ]: 1 : xhr.onreadystatechange = () => { 22 : 1 : if(xhr.readyState === 4) 23 [ - ]: 1 : assert(false, 'onloadstart not called.'); 24 : 1 : }; 25 : 1 : 26 : 1 : xhr.open('POST', `${activeURL}/trickle.py?ms=5&count=8`); 27 : 1 : xhr.send('foo=bar'); 28 : 1 : } 29 : 2 : 30 : 2 : /* 31 : 2 : * event-loadstart-upload.any.js 32 : 2 : * 33 : 2 : 34 : 2 : // META: title=XMLHttpRequest: The send() method: Fire a progress event named loadstart on upload object (synchronous flag is unset) 35 : 2 : 36 : 2 : var test = async_test(); 37 : 2 : test.step(function () { 38 : 2 : var client = new XMLHttpRequest(); 39 : 2 : client.upload.onloadstart = test.step_func(function (e) { 40 : 2 : assert_true(e instanceof ProgressEvent); 41 : 2 : assert_equals(e.total, 7, 'upload.onloadstart: event.total'); 42 : 2 : assert_equals(e.loaded, 0, 'upload.onloadstart: event.loaded'); 43 : 2 : assert_equals(e.type, "loadstart"); 44 : 2 : test.done(); 45 : 2 : }); 46 : 2 : client.onreadystatechange = test.step_func(function () { 47 : 2 : if (client.readyState === 4) 48 : 2 : assert_unreached("onloadstart not called."); 49 : 2 : }); 50 : 2 : client.open("POST", "resources/trickle.py?ms=5&count=8"); 51 : 2 : client.send('foo=bar'); 52 : 2 : }); 53 : 2 : 54 : 2 : * 55 : 2 : * event-loadstart-upload.any.js 56 : 2 : */