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 : (() => {
8 : 1 : const xhr = new XMLHttpRequest();
9 : 1 :
10 [ + ]: 1 : xhr.onerror = (e) => {
11 : 1 : assert(e instanceof ProgressEvent);
12 : 1 : assert.strictEqual(e.type, 'error');
13 : 1 : xhr.onerror = null;
14 : 1 : };
15 : 1 :
16 : 1 : xhr.open('GET', `http://nonexistent`);
17 : 1 : xhr.send();
18 : 1 : })();
19 : 1 :
20 [ + ]: 1 : (() => {
21 : 1 : const xhr = new XMLHttpRequest();
22 : 1 :
23 : 1 : xhr.open('GET', `${activeURL}/bad-chunk-encoding.py`);
24 : 1 :
25 : 1 : xhr.addEventListener('load', () => {
26 : 0 : assert(false, 'unreached code');
27 : 1 : });
28 : 1 :
29 [ + ]: 1 : xhr.addEventListener('error', (e) => {
30 : 1 : assert.strictEqual(e.loaded, 0, 'loaded');
31 : 1 : assert.strictEqual(e.total, 0, 'total');
32 : 1 : });
33 : 1 :
34 [ + ]: 1 : xhr.addEventListener('loadend', (e) => {
35 : 1 : assert.strictEqual(e.loaded, 0, 'loaded');
36 : 1 : assert.strictEqual(e.total, 0, 'total');
37 : 1 : });
38 : 1 :
39 : 1 : xhr.send();
40 : 1 : })();
41 : 1 : }
42 : 2 :
43 : 2 : /*
44 : 2 : * event-error.sub.any.js
45 : 2 : *
46 : 2 :
47 : 2 : // META: title=XMLHttpRequest Test: event - error
48 : 2 :
49 : 2 : async_test(function(t) {
50 : 2 : var client = new XMLHttpRequest();
51 : 2 : client.onerror = t.step_func(function (e) {
52 : 2 : assert_true(e instanceof ProgressEvent);
53 : 2 : assert_equals(e.type, "error");
54 : 2 : t.done();
55 : 2 : });
56 : 2 :
57 : 2 : client.open('GET', 'http://nonexistent.{{host}}:{{ports[http][0]}}');
58 : 2 : client.send('null');
59 : 2 : }, 'onerror should be called');
60 : 2 :
61 : 2 : async_test((t) => {
62 : 2 : const xhr = new XMLHttpRequest();
63 : 2 : xhr.open('GET', 'resources/bad-chunk-encoding.py');
64 : 2 : xhr.addEventListener('load', t.unreached_func('load'));
65 : 2 : xhr.addEventListener('error', t.step_func((e) => {
66 : 2 : assert_equals(e.loaded, 0, 'loaded');
67 : 2 : assert_equals(e.total, 0, 'total');
68 : 2 : }));
69 : 2 : xhr.addEventListener('loadend', t.step_func_done((e) => {
70 : 2 : assert_equals(e.loaded, 0, 'loaded');
71 : 2 : assert_equals(e.total, 0, 'total');
72 : 2 : }));
73 : 2 : xhr.send();
74 : 2 : }, 'error while reading body should report zeros for loaded and total');
75 : 2 :
76 : 2 : *
77 : 2 : * event-error.sub.any.js
78 : 2 : */
|