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 : request('GET'); 7 : 1 : request('HEAD'); 8 : 1 : 9 [ + ]: 1 : function request(method){ 10 : 2 : 11 : 2 : let events = []; 12 : 2 : let logEvt = (e) => { 13 : 0 : events.push(e.type); 14 : 2 : }; 15 : 2 : 16 : 2 : let xhr = new XMLHttpRequest(); 17 : 2 : 18 : 2 : xhr.open(method, `${activeURL}/content.py`); 19 : 2 : 20 : 2 : xhr.upload.onprogress = logEvt; 21 : 2 : xhr.upload.onloadstart = logEvt; 22 : 2 : xhr.upload.onloadend = logEvt; 23 : 2 : 24 [ + ]: 2 : xhr.onloadend = () => { 25 : 2 : 26 : 2 : assert.strictEqual(xhr.getResponseHeader('x-request-content-length'), 'NO'); 27 : 2 : assert.strictEqual(xhr.getResponseHeader('x-request-method'), method); 28 : 2 : assert.strictEqual(xhr.responseText, ''); 29 : 2 : 30 : 2 : assert.deepStrictEqual(events, []); 31 : 2 : }; 32 : 2 : 33 : 2 : xhr.send('TEST'); 34 : 2 : } 35 : 1 : } 36 : 2 : 37 : 2 : /* 38 : 2 : * send-entity-body-get-head-async.htm 39 : 2 : * 40 : 2 : 41 : 2 : <!doctype html> 42 : 2 : <html> 43 : 2 : <head> 44 : 2 : <title>XMLHttpRequest: send() - non-empty data argument and GET/HEAD - async, no upload events should fire</title> 45 : 2 : <script src="/resources/testharness.js"></script> 46 : 2 : <script src="/resources/testharnessreport.js"></script> 47 : 2 : <link rel="help" href="https://xhr.spec.whatwg.org/#the-send()-method" data-tested-assertations="following::OL[1]/LI[3] following::OL[1]/LI[7] following::OL[1]/LI[8]" /> 48 : 2 : 49 : 2 : </head> 50 : 2 : <body> 51 : 2 : <div id="log"></div> 52 : 2 : <script> 53 : 2 : function request(method) { 54 : 2 : var test = async_test( document.title + " (" + method + ")") 55 : 2 : var events=[] 56 : 2 : var logEvt = function (e) { 57 : 2 : events.push(e.type) 58 : 2 : } 59 : 2 : var client = new XMLHttpRequest() 60 : 2 : client.open(method, "resources/content.py") 61 : 2 : client.upload.addEventListener('progress', logEvt) 62 : 2 : client.upload.addEventListener('loadend', logEvt) 63 : 2 : client.upload.addEventListener('loadstart', logEvt) 64 : 2 : client.addEventListener('loadend', function(){ 65 : 2 : test.step(function(){ 66 : 2 : assert_equals(client.getResponseHeader("x-request-content-length"), "NO") 67 : 2 : assert_equals(client.getResponseHeader("x-request-method"), method) 68 : 2 : assert_equals(client.responseText, "") 69 : 2 : assert_array_equals(events, []) 70 : 2 : test.done() 71 : 2 : }) 72 : 2 : }) 73 : 2 : client.send("TEST") 74 : 2 : } 75 : 2 : request("GET") 76 : 2 : request("HEAD") 77 : 2 : </script> 78 : 2 : </body> 79 : 2 : </html> 80 : 2 : 81 : 2 : * 82 : 2 : * send-entity-body-get-head-async.htm 83 : 2 : */