summaryrefslogtreecommitdiffstats
path: root/dom/base/test/browser_bug1011748.js
diff options
context:
space:
mode:
Diffstat (limited to 'dom/base/test/browser_bug1011748.js')
-rw-r--r--dom/base/test/browser_bug1011748.js31
1 files changed, 31 insertions, 0 deletions
diff --git a/dom/base/test/browser_bug1011748.js b/dom/base/test/browser_bug1011748.js
new file mode 100644
index 000000000..a2158500d
--- /dev/null
+++ b/dom/base/test/browser_bug1011748.js
@@ -0,0 +1,31 @@
+const gHttpTestRoot = "http://example.com/browser/dom/base/test/";
+
+add_task(function* () {
+ var statusTexts = [];
+ var xhr = new XMLHttpRequest();
+ var observer = {
+ observe: function (aSubject, aTopic, aData) {
+ try {
+ var channel = aSubject.QueryInterface(Ci.nsIHttpChannel);
+ channel.getResponseHeader("Location");
+ } catch (e) {
+ return;
+ }
+ statusTexts.push(xhr.statusText);
+ }
+ };
+
+ Services.obs.addObserver(observer, "http-on-examine-response", false);
+ yield new Promise((resolve) => {
+ xhr.addEventListener("load", function() {
+ statusTexts.push(this.statusText);
+ is(statusTexts[0], "", "Empty statusText value for HTTP 302");
+ is(statusTexts[1], "OK", "OK statusText value for the redirect.");
+ resolve();
+ });
+ xhr.open("GET", gHttpTestRoot+ "file_bug1011748_redirect.sjs", true);
+ xhr.send();
+ });
+
+ Services.obs.removeObserver(observer, "http-on-examine-response");
+});