41 lines
1.3 KiB
JavaScript
41 lines
1.3 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
* http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
// Tests the submitHealthReportBox checkbox is automatically updated when the
|
|
// corresponding datareporting.healthreport.uploadEnabled pref is changed.
|
|
|
|
const PREF_UPLOAD_ENABLED = "datareporting.healthreport.uploadEnabled";
|
|
|
|
add_task(async function test_updatePageFromPref() {
|
|
if (!AppConstants.MOZ_TELEMETRY_REPORTING) {
|
|
ok(true, "Skipping test because telemetry reporting is disabled");
|
|
return;
|
|
}
|
|
|
|
await SpecialPowers.pushPrefEnv({
|
|
set: [[PREF_UPLOAD_ENABLED, false]],
|
|
});
|
|
|
|
await openPreferencesViaOpenPreferencesAPI("panePrivacy", {
|
|
leaveOpen: true,
|
|
});
|
|
|
|
const doc = gBrowser.selectedBrowser.contentDocument;
|
|
const checkbox = doc.getElementById("submitHealthReportBox");
|
|
Assert.ok(!checkbox.checked, "checkbox should match pref state on page load");
|
|
|
|
await SpecialPowers.pushPrefEnv({
|
|
set: [[PREF_UPLOAD_ENABLED, true]],
|
|
});
|
|
|
|
let checkboxUpdated = BrowserTestUtils.waitForMutationCondition(
|
|
checkbox,
|
|
{ attributeFilter: ["checked"] },
|
|
() => checkbox.checked
|
|
);
|
|
await checkboxUpdated;
|
|
|
|
Assert.ok(checkbox.checked, "pref change should trigger checkbox update");
|
|
|
|
BrowserTestUtils.removeTab(gBrowser.selectedTab);
|
|
});
|