| <!doctype html> |
| <html> |
| <head> |
| <title>XMLHttpRequest: overrideMimeType() in HEADERS RECEIVED state, enforcing Shift-JIS encoding</title> |
| <meta charset="utf-8"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <link rel="help" href="https://xhr.spec.whatwg.org/#the-overridemimetype()-method" data-tested-assertations="/following::ol/li[1] /following::ol/li[4]" /> |
| </head> |
| <body> |
| <div id="log"></div> |
| <script> |
| var test = async_test(); |
| var client = new XMLHttpRequest(); |
| var readyState2Reached = false; |
| client.onreadystatechange = test.step_func( function() { |
| if(client.readyState===2){ |
| readyState2Reached = true; |
| try{ |
| client.overrideMimeType('text/plain;charset=Shift-JIS'); |
| }catch(e){ |
| assert_unreached('overrideMimeType should not throw in state 2'); |
| } |
| } |
| if (client.readyState !== 4) return; |
| assert_equals( readyState2Reached, true, "readyState = 2 event fired" ); |
| assert_equals( client.responseText, 'ใในใ', 'overrideMimeType() in HEADERS RECEIVED state set encoding' ); |
| test.done(); |
| }); |
| client.open("GET", "resources/status.py?type="+encodeURIComponent('text/html;charset=UTF-8')+'&content=%83%65%83%58%83%67'); |
| client.send( '' ); |
| </script> |
| </body> |
| </html> |