michael@0: /* vim:set ts=2 sw=2 sts=2 et: */ michael@0: /* ***** BEGIN LICENSE BLOCK ***** michael@0: * Any copyright is dedicated to the Public Domain. michael@0: * http://creativecommons.org/publicdomain/zero/1.0/ michael@0: * michael@0: * Contributor(s): michael@0: * Mihai Șucan michael@0: * michael@0: * ***** END LICENSE BLOCK ***** */ michael@0: michael@0: const TEST_URI = "http://example.com/browser/browser/devtools/webconsole/test/test-bug-599725-response-headers.sjs"; michael@0: michael@0: let loads = 0; michael@0: function performTest(aRequest, aConsole) michael@0: { michael@0: loads++; michael@0: ok(aRequest, "page load was logged"); michael@0: if (loads != 2) { michael@0: return; michael@0: } michael@0: michael@0: let headers = null; michael@0: michael@0: function readHeader(aName) michael@0: { michael@0: for (let header of headers) { michael@0: if (header.name == aName) { michael@0: return header.value; michael@0: } michael@0: } michael@0: return null; michael@0: } michael@0: michael@0: aConsole.webConsoleClient.getResponseHeaders(aRequest.actor, michael@0: function (aResponse) { michael@0: headers = aResponse.headers; michael@0: ok(headers, "we have the response headers for reload"); michael@0: michael@0: let contentType = readHeader("Content-Type"); michael@0: let contentLength = readHeader("Content-Length"); michael@0: michael@0: ok(!contentType, "we do not have the Content-Type header"); michael@0: isnot(contentLength, 60, "Content-Length != 60"); michael@0: michael@0: if (contentType || contentLength == 60) { michael@0: console.debug("lastFinishedRequest", lastFinishedRequest, michael@0: "request", lastFinishedRequest.request, michael@0: "response", lastFinishedRequest.response, michael@0: "updates", lastFinishedRequest.updates, michael@0: "response headers", headers); michael@0: } michael@0: michael@0: executeSoon(finishTest); michael@0: }); michael@0: michael@0: HUDService.lastFinishedRequest.callback = null; michael@0: } michael@0: michael@0: function test() michael@0: { michael@0: addTab("data:text/plain;charset=utf8,hello world"); michael@0: michael@0: browser.addEventListener("load", function onLoad() { michael@0: browser.removeEventListener("load", onLoad, true); michael@0: openConsole(null, () => { michael@0: HUDService.lastFinishedRequest.callback = performTest; michael@0: michael@0: browser.addEventListener("load", function onReload() { michael@0: browser.removeEventListener("load", onReload, true); michael@0: executeSoon(() => content.location.reload()); michael@0: }, true); michael@0: michael@0: executeSoon(() => content.location = TEST_URI); michael@0: }); michael@0: }, true); michael@0: }