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 : // Bogus MIME type does not override encoding 7 [ + ]: 1 : (() => { 8 : 1 : const xhr = new XMLHttpRequest(); 9 : 1 : 10 [ + ]: 1 : xhr.onload = () => { 11 : 1 : assert.strictEqual(xhr.responseText, 'ÿ'); 12 : 1 : assert.strictEqual(xhr.getResponseHeader('Content-Type'), 'text/html;charset=windows-1252'); 13 : 1 : }; 14 : 1 : 15 : 1 : xhr.open('GET', `${activeURL}/status.py?type=${encodeURIComponent('text/html;charset=windows-1252')}&content=%FF`); 16 : 1 : xhr.overrideMimeType('bogus'); 17 : 1 : xhr.send(); 18 : 1 : })(); 19 : 1 : 20 : 1 : // Bogus MIME type does not override encoding 21 [ + ]: 1 : (() => { 22 : 1 : const xhr = new XMLHttpRequest(); 23 : 1 : 24 [ + ]: 1 : xhr.onload = () => { 25 : 1 : assert.strictEqual(xhr.responseText, 'ÿ'); 26 : 1 : assert.strictEqual(xhr.getResponseHeader('Content-Type'), 'text/html;charset=windows-1252'); 27 : 1 : }; 28 : 1 : 29 : 1 : xhr.open('GET', `${activeURL}/status.py?type=${encodeURIComponent('text/html;charset=windows-1252')}&content=%FF`); 30 : 1 : xhr.overrideMimeType('bogus;charset=Shift_JIS'); 31 : 1 : xhr.send(); 32 : 1 : })(); 33 : 1 : 34 : 1 : // Bogus MIME type does override MIME type 35 [ + ]: 1 : (() => { 36 : 1 : const xhr = new XMLHttpRequest(); 37 : 1 : 38 [ + ]: 1 : xhr.onload = () => { 39 : 1 : assert.strictEqual(xhr.responseXML, null); 40 : 1 : assert.strictEqual(xhr.getResponseHeader('Content-Type'), 'text/xml'); 41 : 1 : }; 42 : 1 : 43 : 1 : xhr.open('GET', `${activeURL}/status.py?type=${encodeURIComponent('text/xml')}&content=${encodeURIComponent('<x/>')}`); 44 : 1 : xhr.overrideMimeType('bogus'); 45 : 1 : xhr.send(); 46 : 1 : })(); 47 : 1 : } 48 : 2 : 49 : 2 : /* 50 : 2 : * overridemimetype-invalid-mime-type.htm 51 : 2 : * 52 : 2 : 53 : 2 : <!doctype html> 54 : 2 : <title>XMLHttpRequest: overrideMimeType() and invalid MIME types</title> 55 : 2 : <meta charset="utf-8"> 56 : 2 : <script src="/resources/testharness.js"></script> 57 : 2 : <script src="/resources/testharnessreport.js"></script> 58 : 2 : <link rel="help" href="https://xhr.spec.whatwg.org/#the-overridemimetype()-method"> 59 : 2 : <div id="log"></div> 60 : 2 : <script> 61 : 2 : async_test(t => { 62 : 2 : const client = new XMLHttpRequest() 63 : 2 : client.onload = t.step_func_done(() => { 64 : 2 : assert_equals(client.responseText, "ÿ") 65 : 2 : assert_equals(client.getResponseHeader("Content-Type"), "text/html;charset=windows-1252") 66 : 2 : }) 67 : 2 : client.open("GET", "resources/status.py?type=" + encodeURIComponent("text/html;charset=windows-1252") + "&content=%FF") 68 : 2 : client.overrideMimeType("bogus") 69 : 2 : client.send() 70 : 2 : }, "Bogus MIME type does not override encoding") 71 : 2 : 72 : 2 : async_test(t => { 73 : 2 : const client = new XMLHttpRequest() 74 : 2 : client.onload = t.step_func_done(() => { 75 : 2 : assert_equals(client.responseText, "ÿ") 76 : 2 : assert_equals(client.getResponseHeader("Content-Type"), "text/html;charset=windows-1252") 77 : 2 : }) 78 : 2 : client.open("GET", "resources/status.py?type=" + encodeURIComponent("text/html;charset=windows-1252") + "&content=%FF") 79 : 2 : client.overrideMimeType("bogus;charset=Shift_JIS") 80 : 2 : client.send() 81 : 2 : }, "Bogus MIME type does not override encoding, 2") 82 : 2 : 83 : 2 : async_test(t => { 84 : 2 : const client = new XMLHttpRequest() 85 : 2 : client.onload = t.step_func_done(() => { 86 : 2 : assert_equals(client.responseXML, null) 87 : 2 : assert_equals(client.getResponseHeader("Content-Type"), "text/xml") 88 : 2 : }) 89 : 2 : client.open("GET", "resources/status.py?type=" + encodeURIComponent("text/xml") + "&content=" + encodeURIComponent("<x/>")) 90 : 2 : client.overrideMimeType("bogus") 91 : 2 : client.send() 92 : 2 : }, "Bogus MIME type does override MIME type") 93 : 2 : </script> 94 : 2 : 95 : 2 : * 96 : 2 : * overridemimetype-invalid-mime-type.htm 97 : 2 : */