fune/browser/base/content/test/trackingUI/browser_trackingUI_fetch.js
Johann Hofmann 5584301845 Bug 1476218 - Part 3 - Update Tracking Protection tests to reflect Content Blocking changes. r=nhnt11
This commit also moves the remaining trackingUI_* tests out of b/b/c/test/general,
since I needed to touch them anyway

Differential Revision: https://phabricator.services.mozilla.com/D2935

--HG--
rename : browser/base/content/test/general/benignPage.html => browser/base/content/test/trackingUI/benignPage.html
rename : browser/base/content/test/general/browser_trackingUI_3.js => browser/base/content/test/trackingUI/browser_trackingUI_3.js
rename : browser/base/content/test/general/browser_trackingUI_4.js => browser/base/content/test/trackingUI/browser_trackingUI_animation_2.js
rename : browser/base/content/test/general/browser_trackingUI_6.js => browser/base/content/test/trackingUI/browser_trackingUI_fetch.js
rename : browser/base/content/test/general/browser_trackingUI_5.js => browser/base/content/test/trackingUI/browser_trackingUI_pbmode_exceptions.js
rename : browser/base/content/test/general/browser_trackingUI_telemetry.js => browser/base/content/test/trackingUI/browser_trackingUI_telemetry.js
rename : browser/base/content/test/general/file_trackingUI_6.html => browser/base/content/test/trackingUI/file_trackingUI_fetch.html
rename : browser/base/content/test/general/file_trackingUI_6.js => browser/base/content/test/trackingUI/file_trackingUI_fetch.js
rename : browser/base/content/test/general/file_trackingUI_6.js^headers^ => browser/base/content/test/trackingUI/file_trackingUI_fetch.js^headers^
rename : browser/base/content/test/general/trackingPage.html => browser/base/content/test/trackingUI/trackingPage.html
extra : rebase_source : 2a12463ab2ba39bdcf077580a2d6e565f80c879c
2018-08-08 14:31:34 +02:00

44 lines
1.6 KiB
JavaScript

const URL = "http://mochi.test:8888/browser/browser/base/content/test/trackingUI/file_trackingUI_fetch.html";
function waitForSecurityChange(numChanges = 1) {
return new Promise(resolve => {
let n = 0;
let listener = {
onSecurityChange() {
n = n + 1;
info("Received onSecurityChange event " + n + " of " + numChanges);
if (n >= numChanges) {
gBrowser.removeProgressListener(listener);
resolve();
}
}
};
gBrowser.addProgressListener(listener);
});
}
add_task(async function test_fetch() {
await SpecialPowers.pushPrefEnv({ set: [
["privacy.trackingprotection.enabled", true],
["browser.contentblocking.enabled", true],
]});
await BrowserTestUtils.withNewTab({ gBrowser, url: URL }, async function(newTabBrowser) {
let securityChange = waitForSecurityChange();
await ContentTask.spawn(newTabBrowser, null, async function() {
await content.wrappedJSObject.test_fetch()
.then(response => Assert.ok(false, "should have denied the request"))
.catch(e => Assert.ok(true, `Caught exception: ${e}`));
});
await securityChange;
let ContentBlocking = newTabBrowser.ownerGlobal.ContentBlocking;
ok(ContentBlocking, "got CB object");
ok(ContentBlocking.enabled, "CB is enabled");
ok(ContentBlocking.content.hasAttribute("detected"), "has detected content blocking");
ok(ContentBlocking.iconBox.hasAttribute("active"), "icon box is active");
is(ContentBlocking.iconBox.getAttribute("tooltiptext"),
gNavigatorBundle.getString("trackingProtection.icon.activeTooltip"), "correct tooltip");
});
});