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('POST'); 7 : 1 : request('PUT'); 8 : 1 : request('HEAD'); 9 : 1 : 10 [ + ]: 1 : function request(method){ 11 : 3 : 12 : 3 : let xhr = new XMLHttpRequest(); 13 : 3 : 14 : 3 : xhr.open(method, `${activeURL}/content.py`, false); 15 : 3 : 16 : 3 : xhr.upload.onloadstart = () => { 17 : 0 : assert(false, 'this event should not fire for empty string'); 18 : 3 : }; 19 : 3 : 20 : 3 : xhr.send(''); 21 : 3 : 22 [ + ][ + ]: 3 : let expectedLength = method == 'HEAD' ? 'NO' : '0'; 23 : 3 : 24 : 3 : assert.strictEqual(xhr.getResponseHeader('x-request-content-length'), expectedLength); 25 : 3 : } 26 : 1 : } 27 : 2 : 28 : 2 : /* 29 : 2 : * send-entity-body-empty.htm 30 : 2 : * 31 : 2 : 32 : 2 : <!doctype html> 33 : 2 : <html> 34 : 2 : <head> 35 : 2 : <title>XMLHttpRequest: send("") - empty entity body</title> 36 : 2 : <script src="/resources/testharness.js"></script> 37 : 2 : <script src="/resources/testharnessreport.js"></script> 38 : 2 : <link rel="help" href="https://xhr.spec.whatwg.org/#the-send()-method" data-tested-assertations="following::ol[1]/li[7]" /> 39 : 2 : <link rel="help" href="https://xhr.spec.whatwg.org/#dom-XMLHttpRequest-send-a-string" data-tested-assertations="following::p[1] following::p[2] following::p[3]" /> 40 : 2 : </head> 41 : 2 : <body> 42 : 2 : <div id="log"></div> 43 : 2 : <script> 44 : 2 : function request(method) { 45 : 2 : var client = new XMLHttpRequest() 46 : 2 : client.open(method, "resources/content.py", false) 47 : 2 : client.upload.onloadstart = function(){assert_unreached('this event should not fire for empty strings')} 48 : 2 : client.send("") 49 : 2 : var expectedLength = method == "HEAD" ? "NO" : "0"; 50 : 2 : assert_equals(client.getResponseHeader("x-request-content-length"), expectedLength) 51 : 2 : } 52 : 2 : test(function() { request("POST"); }, document.title + " (POST)"); 53 : 2 : test(function() { request("PUT"); }, document.title + " (PUT)"); 54 : 2 : test(function() { request("HEAD"); }, document.title + " (HEAD)"); 55 : 2 : </script> 56 : 2 : </body> 57 : 2 : </html> 58 : 2 : 59 : 2 : * 60 : 2 : * send-entity-body-empty.htm 61 : 2 : */