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('arrayBuffer'); // case sensitive 7 : 1 : request('JSON'); // case sensitive 8 : 1 : request('glob'); 9 : 1 : request('txt'); 10 : 1 : request('text/html'); 11 : 1 : 12 [ + ]: 1 : function request(type){ 13 : 5 : 14 : 5 : const xhr = new XMLHttpRequest(); 15 : 5 : 16 : 5 : xhr.responseType = type; 17 : 5 : assert.strictEqual(xhr.responseType, ''); 18 : 5 : 19 : 5 : xhr.open('GET', `${activeURL}/folder.txt`); 20 : 5 : 21 [ + ]: 5 : xhr.onload = () => { 22 : 5 : 23 : 5 : assert.strictEqual(xhr.responseType, ''); 24 : 5 : assert.strictEqual(xhr.response, 'bottom\n'); 25 : 5 : assert.strictEqual(typeof xhr.response, 'string'); 26 : 5 : 27 : 5 : xhr.onload = null; 28 : 5 : }; 29 : 5 : 30 : 5 : xhr.send(); 31 : 5 : } 32 : 1 : } 33 : 2 : 34 : 2 : /* 35 : 2 : * response-invalid-responsetype.htm 36 : 2 : * 37 : 2 : 38 : 2 : <!doctype html> 39 : 2 : <html> 40 : 2 : <head> 41 : 2 : <title>XMLHttpRequest: response is plain text if responseType is set to an invalid string</title> 42 : 2 : <script src="/resources/testharness.js"></script> 43 : 2 : <script src="/resources/testharnessreport.js"></script> 44 : 2 : <link rel="help" href="https://xhr.spec.whatwg.org/#the-response-attribute" data-tested-assertations="following::dd[2]/ol[1]/li[2]" /> 45 : 2 : <link rel="help" href="https://xhr.spec.whatwg.org/#the-responsetype-attribute" data-tested-assertations="following::ol[1]/li[4]" /><!-- Not quite - but this is handled in WebIDL, not the XHR spec --> 46 : 2 : </head> 47 : 2 : <body> 48 : 2 : <div id="log"></div> 49 : 2 : <script> 50 : 2 : function request(type) { 51 : 2 : var test = async_test(document.title+' ('+type+')') 52 : 2 : test.step(function() { 53 : 2 : var client = new XMLHttpRequest() 54 : 2 : client.responseType = type 55 : 2 : assert_equals(client.responseType, '') 56 : 2 : client.open("GET", "resources/folder.txt", true) 57 : 2 : client.onload = function(){ 58 : 2 : test.step(function(){ 59 : 2 : assert_equals(client.responseType, '') 60 : 2 : assert_equals(client.response, 'bottom\n') 61 : 2 : assert_equals(typeof client.response, 'string') 62 : 2 : test.done() 63 : 2 : }) 64 : 2 : } 65 : 2 : client.send(null) 66 : 2 : }) 67 : 2 : } 68 : 2 : request("arrayBuffer") // case sensitive 69 : 2 : request("JSON") // case sensitive 70 : 2 : request("glob") 71 : 2 : request("txt") 72 : 2 : request("text/html") 73 : 2 : </script> 74 : 2 : </body> 75 : 2 : </html> 76 : 2 : 77 : 2 : * 78 : 2 : * response-invalid-responsetype.htm 79 : 2 : */