|
1 <!DOCTYPE HTML> |
|
2 <html> |
|
3 <!-- |
|
4 https://bugzilla.mozilla.org/show_bug.cgi?id=422537 |
|
5 --> |
|
6 <head> |
|
7 <title>Test for bug 422537</title> |
|
8 <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> |
|
9 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> |
|
10 </head> |
|
11 |
|
12 <body> |
|
13 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=422537">Mozilla Bug 422537</a> |
|
14 <p id="display"></p> |
|
15 <div id="content" style="display: none"> |
|
16 |
|
17 </div> |
|
18 <pre id="test"> |
|
19 <script class="testbody" type="text/javascript"> |
|
20 |
|
21 /** Test for Bug 422537 **/ |
|
22 var isupports_string = SpecialPowers.Cc["@mozilla.org/supports-string;1"] |
|
23 .createInstance(SpecialPowers.Ci.nsISupportsString); |
|
24 isupports_string.data = "foo"; |
|
25 |
|
26 const url = "http://mochi.test:8888"; |
|
27 var body = [ |
|
28 document, |
|
29 "foo", |
|
30 isupports_string |
|
31 ]; |
|
32 |
|
33 for (var i of body) { |
|
34 var xhr = new XMLHttpRequest(); |
|
35 xhr.open("POST", url, true); |
|
36 if (i == isupports_string) |
|
37 SpecialPowers.wrap(xhr).send(i); |
|
38 else |
|
39 xhr.send(i); |
|
40 var chan = SpecialPowers.wrap(xhr).channel; |
|
41 if (!SpecialPowers.call_Instanceof(chan, SpecialPowers.Ci.nsIUploadChannel)) |
|
42 throw "Must be an upload channel"; |
|
43 var stream = chan.uploadStream; |
|
44 if (!stream || !SpecialPowers.call_Instanceof(stream, SpecialPowers.Ci.nsISeekableStream)) |
|
45 throw "Stream must be seekable"; |
|
46 // the following is a no-op, but should not throw an exception |
|
47 stream.seek(SpecialPowers.Ci.nsISeekableStream.NS_SEEK_CUR, 0); |
|
48 } |
|
49 |
|
50 ok(true, "xhr is seekable"); |
|
51 |
|
52 </script> |
|
53 </pre> |
|
54 </body> |
|
55 </html> |