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 : const xhr = new XMLHttpRequest(); 7 : 1 : 8 [ + ]: 1 : xhr.onreadystatechange = () => { 9 [ + ]: 4 : if(xhr.readyState === 3){ 10 : 1 : assert.throws( 11 [ + ]: 1 : () => { 12 : 1 : xhr.overrideMimeType('application/xml;charset=Shift-JIS'); 13 : 1 : }, 14 [ + ]: 1 : (err) => { 15 : 1 : assert(err instanceof DOMException, 'DOMException expected'); 16 : 1 : assert(err.name === 'InvalidStateError', 'InvalidStateError expected'); 17 : 1 : 18 : 1 : return true; 19 : 1 : } 20 : 1 : ); 21 [ + ]: 1 : } 22 : 3 : else 23 [ + ]: 3 : if(xhr.readyState === 4){ 24 : 1 : assert.strictEqual(xhr.responseXML, null); 25 : 1 : xhr.onreadystatechange = null; 26 : 1 : } 27 : 1 : }; 28 : 1 : 29 : 1 : xhr.open('GET', `${activeURL}/status.py?type=${encodeURIComponent('text/html;charset=iso-8859-1')}&content=%3Cmsg%3E%83%65%83%58%83%67%3C%2Fmsg%3E`); 30 : 1 : xhr.send(); 31 : 1 : } 32 : 2 : 33 : 2 : /* 34 : 2 : * overridemimetype-loading-state.htm 35 : 2 : * 36 : 2 : 37 : 2 : <!doctype html> 38 : 2 : <html> 39 : 2 : <head> 40 : 2 : <title>XMLHttpRequest: overrideMimeType() in LOADING state</title> 41 : 2 : <meta charset="utf-8"> 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-overridemimetype()-method" data-tested-assertations="/following::ol/li[1]" /> 45 : 2 : </head> 46 : 2 : <body> 47 : 2 : <div id="log"></div> 48 : 2 : <script> 49 : 2 : var test = async_test(); 50 : 2 : test.step(function() { 51 : 2 : var client = new XMLHttpRequest(); 52 : 2 : client.onreadystatechange = test.step_func(function() { 53 : 2 : if (client.readyState === 3){ 54 : 2 : assert_throws_dom("InvalidStateError", function(){ 55 : 2 : client.overrideMimeType('application/xml;charset=Shift-JIS'); 56 : 2 : }); 57 : 2 : }else if(client.readyState===4){ 58 : 2 : assert_equals(client.responseXML, null); 59 : 2 : test.done(); 60 : 2 : } 61 : 2 : }); 62 : 2 : client.open("GET", "resources/status.py?type="+encodeURIComponent('text/plain;charset=iso-8859-1')+'&content=%3Cmsg%3E%83%65%83%58%83%67%3C%2Fmsg%3E'); 63 : 2 : client.send(); 64 : 2 : }); 65 : 2 : </script> 66 : 2 : 67 : 2 : </body> 68 : 2 : </html> 69 : 2 : 70 : 2 : * 71 : 2 : * overridemimetype-loading-state.htm 72 : 2 : */