| <!doctype html> |
| <html> |
| <head> |
| <title>XMLHttpRequest: responseXML/responseText on other responseType</title> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <link rel="help" href="https://xhr.spec.whatwg.org/#the-responsexml-attribute" data-tested-assertations="following::ol[1]/li[1]" /> |
| <link rel="help" href="https://xhr.spec.whatwg.org/#the-responsetext-attribute" data-tested-assertations="following::ol[1]/li[1]" /> |
| <link rel="help" href="https://xhr.spec.whatwg.org/#the-responsetype-attribute" data-tested-assertations="following::ol[1]/li[4]" /> |
| </head> |
| <body> |
| <div id="log"></div> |
| <script> |
| function request(type) { |
| var test = async_test(document.title+' ('+type+')') |
| test.step(function() { |
| var client = new XMLHttpRequest() |
| client.responseType = type |
| client.open("GET", "resources/well-formed.xml", true) |
| client.onload = function(){ |
| test.step(function(){ |
| if(type !== 'document'){ |
| assert_throws("InvalidStateError", function() { |
| var x = client.responseXML; |
| }, 'responseXML throw for '+type) |
| } |
| if(type !== 'text'){ |
| assert_throws("InvalidStateError", function() { |
| var x = client.responseText; |
| }, 'responseText throws for '+type) |
| } |
| test.done() |
| }) |
| } |
| client.send(null) |
| }) |
| } |
| request("arraybuffer") |
| request("blob") |
| request("json") |
| request("text") |
| request("document") |
| </script> |
| </body> |
| </html> |