33 lines
1.2 KiB
JavaScript
33 lines
1.2 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
* http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
"use strict";
|
|
|
|
const TEST_JSON_URL = URL_ROOT + "csp_json.json";
|
|
|
|
add_task(async function () {
|
|
info("Test CSP JSON started");
|
|
|
|
const tab = await addJsonViewTab(TEST_JSON_URL);
|
|
|
|
const count = await getElementCount(".jsonPanelBox .treeTable .treeRow");
|
|
is(count, 1, "There must be one row");
|
|
|
|
// The JSON Viewer alters the CSP, but the displayed header should be the original one
|
|
await selectJsonViewContentTab("headers");
|
|
await SpecialPowers.spawn(tab.linkedBrowser, [], async function () {
|
|
const responseHeaders = content.document.querySelector(".netHeadersGroup");
|
|
const names = responseHeaders.querySelectorAll(".netInfoParamName");
|
|
let found = false;
|
|
for (const name of names) {
|
|
if (name.textContent.toLowerCase() == "content-security-policy") {
|
|
ok(!found, "The CSP header only appears once");
|
|
found = true;
|
|
const value = name.nextElementSibling.textContent;
|
|
const expected = "default-src 'none'; base-uri 'none';";
|
|
is(value, expected, "The CSP value has not been altered");
|
|
}
|
|
}
|
|
ok(found, "The CSP header is present");
|
|
});
|
|
});
|