blob: 32a73572b4bd33d56d6e0b6aeb9ae31c22128298 [file] [log] [blame]
crogers@google.com01f283a2010-11-23 21:51:00 +00001<html>
2<head>
crogers@google.com01f283a2010-11-23 21:51:00 +00003<script src="../js/resources/js-test-pre.js"></script>
4<style type="text/css">
5.box {
6 display: box;
7 border: 1px solid black;
8 margin-bottom: 0.5em;
9}
10.boxheader {
11 font-weight: bold;
12 color: maroon;
13}
14pre {
15 margin-left: 2em;
16}
17</style>
18</head>
19<body>
20
21<div id="description"></div>
22
23<div class="box"><span class="boxheader">responseText</span>
24<pre id="id1">@@No result@@</pre>
25</div>
26<br>
27
28<div id="console"></div>
29
30<script>
31description("Tests XMLHttpRequest 'text' loading with the .responseType and .response attributes.");
32
33var xhr = 0;
34
35function load() {
36 testPassed('DONE LOADING');
37 testPassed('received response object of type : ' + typeof xhr.response + ".");
38
39 // Make sure exception is thrown if responseType is set too late in the loading process.
40 // .responseType was previously set to "text". Let's try setting it to "arraybuffer".
41 try {
42 xhr.responseType = "arraybuffer";
43 } catch(e) {
44 testPassed("exception correctly thrown when xhr.responseType is set to valid value too late in the loading process : " + e + ".");
45 }
46
47 // Get .responseText
48 document.getElementById("id1").firstChild.nodeValue = xhr.responseText;
49
50 // .response is really just an alias to .responseText when .responseType is set to "text".
51 // Make sure they're the same.
52 if (xhr.response == xhr.responseText)
53 testPassed("xhr.response == xhr.responseText.");
54 else
55 testFailed("xhr.response == xhr.responseText.");
56
57 xhr = null;
58 finishJSTest();
59}
60
61function runTest() {
rniwa@webkit.org224c8b52012-08-04 01:13:22 +000062 if (window.testRunner) {
63 testRunner.dumpAsText();
64 testRunner.waitUntilDone();
crogers@google.com01f283a2010-11-23 21:51:00 +000065 }
66
67 xhr = new XMLHttpRequest();
68 xhr.onload = load;
69 xhr.open("GET", "resources/xmlhttprequest-get-data.xml", true);
70
71 try {
72 if ("responseType" in xhr)
73 testPassed("responseType property exists.");
74 else
75 testFailed("responseType property does not exist.");
76
77
78 if ("response" in xhr)
79 testPassed("response property exists.");
80 else
81 testFailed("response property does not exist.");
82
83 // Make sure we can set responseType to "text" before send() is called.
84 try {
85 xhr.responseType = "text";
86 if (xhr.responseType == "text")
87 testPassed("xhr.responseType has been correctly set to 'text'.");
88 } catch(e) {
89 testFailed("unable to set xhr.responseType to 'text' " + e + ".");
90 }
91 } catch(e) {
92 testFailed("Caught exception " + e + ".");
93 }
94
95 xhr.send(null);
96 window.jsTestIsAsync = true;
97}
98
99runTest();
crogers@google.com01f283a2010-11-23 21:51:00 +0000100
101</script>
102
103<script src="../js/resources/js-test-post.js"></script>
104
105</body>
106</html>