Source code

Revision control

Copy as Markdown

Other Tools

Test Info: Warnings

"use strict";
registerCleanupFunction(() => {
UrlClassifierTestUtils.cleanupTestTrackers();
Services.prefs.clearUserPref(TRACKING_PREF);
});
add_setup(async function () {
await UrlClassifierTestUtils.addTestTrackers();
});
add_task(async function test_shim_disabled_by_own_pref() {
// Test that a shim will not apply if disabled in about:config
Services.prefs.setBoolPref(DISABLE_SHIM1_PREF, true);
Services.prefs.setBoolPref(TRACKING_PREF, true);
await testShimDoesNotRun();
Services.prefs.clearUserPref(DISABLE_SHIM1_PREF);
Services.prefs.clearUserPref(TRACKING_PREF);
});
add_task(async function test_shim_disabled_by_global_pref() {
// Test that a shim will not apply if disabled in about:config
Services.prefs.setBoolPref(GLOBAL_PREF, false);
Services.prefs.setBoolPref(DISABLE_SHIM1_PREF, false);
Services.prefs.setBoolPref(TRACKING_PREF, true);
await testShimDoesNotRun();
Services.prefs.clearUserPref(GLOBAL_PREF);
Services.prefs.clearUserPref(DISABLE_SHIM1_PREF);
Services.prefs.clearUserPref(TRACKING_PREF);
});
add_task(async function test_shim_disabled_hosts_notHosts() {
Services.prefs.setBoolPref(TRACKING_PREF, true);
await testShimDoesNotRun(false, SHIMMABLE_TEST_PAGE_3);
Services.prefs.clearUserPref(TRACKING_PREF);
});
add_task(async function test_shim_disabled_overridden_by_pref() {
Services.prefs.setBoolPref(TRACKING_PREF, true);
await testShimDoesNotRun(false, SHIMMABLE_TEST_PAGE_2);
Services.prefs.setBoolPref(DISABLE_SHIM2_PREF, false);
await testShimRuns(SHIMMABLE_TEST_PAGE_2);
Services.prefs.clearUserPref(TRACKING_PREF);
Services.prefs.clearUserPref(DISABLE_SHIM2_PREF);
});
add_task(async function test_shim() {
// Test that a shim which only runs in strict mode works, and that it
// is permitted to opt into showing normally-blocked tracking content.
Services.prefs.setBoolPref(TRACKING_PREF, true);
await testShimRuns(SHIMMABLE_TEST_PAGE);
// test that if the user opts in on one domain, they will still have to opt
// in on another domain which embeds an iframe to the first one.
await testShimRuns(EMBEDDING_TEST_PAGE, 0, false, false);
Services.prefs.clearUserPref(TRACKING_PREF);
});