fune/browser/components/doh/test/unit/test_heuristics.js
Natalia Csoregi f7f289f0dd Backed out 2 changesets (bug 1822495) for causing a very high failure rate in Bug 1775997. CLOSED TREE
Backed out changeset c2121c4069d9 (bug 1822495)
Backed out changeset 356e59590921 (bug 1822495)
2023-04-23 20:41:23 +03:00

80 lines
1.8 KiB
JavaScript

/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/
*/
"use strict";
const { MockRegistrar } = ChromeUtils.importESModule(
"resource://testing-common/MockRegistrar.sys.mjs"
);
let cid;
async function SetMockParentalControlEnabled(aEnabled) {
if (cid) {
MockRegistrar.unregister(cid);
}
let parentalControlsService = {
parentalControlsEnabled: aEnabled,
QueryInterface: ChromeUtils.generateQI(["nsIParentalControlsService"]),
};
cid = MockRegistrar.register(
"@mozilla.org/parental-controls-service;1",
parentalControlsService
);
}
registerCleanupFunction(() => {
if (cid) {
MockRegistrar.unregister(cid);
}
});
add_task(setup);
add_task(async function test_parentalControls() {
let DoHHeuristics = ChromeUtils.importESModule(
"resource:///modules/DoHHeuristics.sys.mjs"
);
let parentalControls = DoHHeuristics.parentalControls;
Assert.equal(
await parentalControls(),
"enable_doh",
"By default, parental controls should be disabled and doh should be enabled"
);
SetMockParentalControlEnabled(false);
Assert.equal(
await parentalControls(),
"enable_doh",
"Mocked parental controls service is disabled; doh is enabled"
);
SetMockParentalControlEnabled(true);
Assert.equal(
await parentalControls(),
"enable_doh",
"Default value of mocked parental controls service is disabled; doh is enabled"
);
SetMockParentalControlEnabled(false);
Assert.equal(
await parentalControls(),
"enable_doh",
"Mocked parental controls service is disabled; doh is enabled"
);
MockRegistrar.unregister(cid);
Assert.equal(
await parentalControls(),
"enable_doh",
"By default, parental controls should be disabled and doh should be enabled"
);
});