Source code
Revision control
Copy as Markdown
Other Tools
Test Info: Warnings
- This test gets skipped with pattern: socketprocess_networking
- This test runs only with pattern: os != 'android'
- Manifest: toolkit/components/doh/test/browser/browser.toml
/* Any copyright is dedicated to the Public Domain.
*/
"use strict";
add_task(setup);
add_task(async function testDirtyEnable() {
// Set up a failing environment, pre-set DoH to enabled, and verify that
// when the add-on is enabled, it doesn't do anything - DoH remains turned on.
setFailingHeuristics();
let prefPromise = TestUtils.waitForPrefChange(prefs.DISABLED_PREF);
Services.prefs.setIntPref(prefs.NETWORK_TRR_MODE_PREF, 2);
Services.prefs.setBoolPref(prefs.ENABLED_PREF, true);
await prefPromise;
is(
Services.prefs.getBoolPref(prefs.DISABLED_PREF),
true,
"Disabled state recorded."
);
ok(
!Services.prefs.prefHasUserValue(prefs.BREADCRUMB_PREF),
"Breadcrumb not saved."
);
ok(
!Services.prefs.prefHasUserValue(prefs.TRR_SELECT_URI_PREF),
"TRR selection not performed."
);
is(
Services.prefs.getIntPref(prefs.NETWORK_TRR_MODE_PREF),
2,
"TRR mode preserved."
);
ensureNoTRRSelectionTelemetry();
await ensureNoTRRModeChange(undefined);
ensureNoHeuristicsTelemetry();
// Simulate a network change.
simulateNetworkChange();
await ensureNoTRRModeChange(undefined);
ensureNoHeuristicsTelemetry();
is(
Services.prefs.getIntPref(prefs.NETWORK_TRR_MODE_PREF),
2,
"TRR mode preserved."
);
// Restart the controller for good measure.
await restartDoHController();
await ensureNoTRRModeChange(undefined);
ensureNoTRRSelectionTelemetry();
ensureNoHeuristicsTelemetry();
is(
Services.prefs.getIntPref(prefs.NETWORK_TRR_MODE_PREF),
2,
"TRR mode preserved."
);
// Simulate a network change.
simulateNetworkChange();
await ensureNoTRRModeChange(undefined);
is(
Services.prefs.getIntPref(prefs.NETWORK_TRR_MODE_PREF),
2,
"TRR mode preserved."
);
ensureNoHeuristicsTelemetry();
});