Source code

Revision control

Copy as Markdown

Other Tools

Test Info: Warnings

/* Any copyright is dedicated to the Public Domain.
registerCleanupFunction(function () {
while (gBrowser.tabs[1]) {
gBrowser.removeTab(gBrowser.tabs[1]);
}
});
add_task(async function () {
let prefs = await openPreferencesViaOpenPreferencesAPI("panePrivacy", {
leaveOpen: true,
});
is(prefs.selectedPane, "panePrivacy", "Privacy pane was selected");
let doc = gBrowser.contentDocument;
let notificationsDoNotDisturbBox = doc.getElementById(
"notificationsDoNotDisturbBox"
);
if (notificationsDoNotDisturbBox.hidden) {
todo(false, "Do not disturb is not available on this platform");
return;
}
let alertService;
try {
alertService = Cc["@mozilla.org/alerts-service;1"]
.getService(Ci.nsIAlertsService)
.QueryInterface(Ci.nsIAlertsDoNotDisturb);
} catch (ex) {
ok(true, "Do not disturb is not available on this platform: " + ex.message);
return;
}
let checkbox = doc.getElementById("notificationsDoNotDisturb");
ok(!checkbox.checked, "Checkbox should not be checked by default");
ok(
!alertService.manualDoNotDisturb,
"Do not disturb should be off by default"
);
let checkboxChanged = BrowserTestUtils.waitForEvent(checkbox, "command");
checkbox.click();
await checkboxChanged;
ok(
alertService.manualDoNotDisturb,
"Do not disturb should be enabled when checked"
);
checkboxChanged = BrowserTestUtils.waitForEvent(checkbox, "command");
checkbox.click();
await checkboxChanged;
ok(
!alertService.manualDoNotDisturb,
"Do not disturb should be disabled when unchecked"
);
});