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 : var xhr = new XMLHttpRequest(); 7 : 1 : xhr.open('POST', 'http://{{host}}:1', false); // Bad port. 8 : 1 : 9 : 1 : assert.throws( 10 [ + ]: 1 : () => { 11 : 1 : xhr.send('Test Message'); 12 : 1 : }, 13 [ + ]: 1 : (err) => { 14 : 1 : assert(err instanceof DOMException, 'DOMException expected'); 15 : 1 : assert(err.name === 'NetworkError', 'NetworkError expected'); 16 : 1 : 17 : 1 : return true; 18 : 1 : } 19 : 1 : ); 20 : 1 : assert.strictEqual(xhr.readyState, 4); 21 : 1 : 22 : 1 : var xhr = new XMLHttpRequest(); 23 : 1 : xhr.open('GET', 'data:text/html;charset=utf-8;base64,PT0NUWVBFIGh0bWw%2BDQo8', false); 24 : 1 : 25 : 1 : assert.throws( 26 [ + ]: 1 : () => { 27 : 1 : xhr.send('Test Message'); 28 : 1 : }, 29 [ + ]: 1 : (err) => { 30 : 1 : assert(err instanceof DOMException, 'DOMException expected'); 31 : 1 : assert(err.name === 'NetworkError', 'NetworkError expected'); 32 : 1 : 33 : 1 : return true; 34 : 1 : } 35 : 1 : ); 36 : 1 : assert.strictEqual(xhr.readyState, 4); 37 : 1 : } 38 : 2 : 39 : 2 : /* 40 : 2 : * send-network-error-sync-events.sub.htm 41 : 2 : * 42 : 2 : 43 : 2 : <!DOCTYPE html> 44 : 2 : <html> 45 : 2 : <head> 46 : 2 : <link rel="help" href="https://xhr.spec.whatwg.org/#infrastructure-for-the-send()-method" data-tested-assertations="following::dt[4] following::dd[4]/p" /> 47 : 2 : <link rel="help" href="https://xhr.spec.whatwg.org/#network-error" data-tested-assertations=".." /> 48 : 2 : <link rel="help" href="https://xhr.spec.whatwg.org/#request-error" data-tested-assertations="following::ol[1]/li[4] following::ol[1]/li[5]" /> 49 : 2 : <script src="/resources/testharness.js"></script> 50 : 2 : <script src="/resources/testharnessreport.js"></script> 51 : 2 : <title>XMLHttpRequest: The send() method: Throw a "throw an "NetworkError" exception when Network error happens (synchronous flag is set)</title> 52 : 2 : </head> 53 : 2 : 54 : 2 : <body> 55 : 2 : <div id="log"></div> 56 : 2 : 57 : 2 : <script type="text/javascript"> 58 : 2 : test(function() 59 : 2 : { 60 : 2 : var xhr = new XMLHttpRequest(); 61 : 2 : 62 : 2 : xhr.open("POST", "http://{{host}}:1", false); // Bad port. 63 : 2 : 64 : 2 : assert_throws_dom("NetworkError", function() 65 : 2 : { 66 : 2 : xhr.send("Test Message"); 67 : 2 : }); 68 : 2 : assert_equals(xhr.readyState, 4) 69 : 2 : 70 : 2 : }, "http URL"); 71 : 2 : 72 : 2 : test(function() 73 : 2 : { 74 : 2 : var xhr = new XMLHttpRequest(); 75 : 2 : 76 : 2 : xhr.open("GET", "data:text/html;charset=utf-8;base64,PT0NUWVBFIGh0bWw%2BDQo8", false); 77 : 2 : 78 : 2 : assert_throws_dom("NetworkError", function() 79 : 2 : { 80 : 2 : xhr.send("Test Message"); 81 : 2 : }); 82 : 2 : assert_equals(xhr.readyState, 4) 83 : 2 : 84 : 2 : }, "data URL"); 85 : 2 : </script> 86 : 2 : </body> 87 : 2 : </html> 88 : 2 : 89 : 2 : * 90 : 2 : * send-network-error-sync-events.sub.htm 91 : 2 : */