summaryrefslogtreecommitdiffstats
path: root/browser/components/preferences/tests/browser_languages_subdialog.js
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 14:29:10 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 14:29:10 +0000
commit2aa4a82499d4becd2284cdb482213d541b8804dd (patch)
treeb80bf8bf13c3766139fbacc530efd0dd9d54394c /browser/components/preferences/tests/browser_languages_subdialog.js
parentInitial commit. (diff)
downloadfirefox-upstream.tar.xz
firefox-upstream.zip
Adding upstream version 86.0.1.upstream/86.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'browser/components/preferences/tests/browser_languages_subdialog.js')
-rw-r--r--browser/components/preferences/tests/browser_languages_subdialog.js112
1 files changed, 112 insertions, 0 deletions
diff --git a/browser/components/preferences/tests/browser_languages_subdialog.js b/browser/components/preferences/tests/browser_languages_subdialog.js
new file mode 100644
index 0000000000..d14df76445
--- /dev/null
+++ b/browser/components/preferences/tests/browser_languages_subdialog.js
@@ -0,0 +1,112 @@
+add_task(async function() {
+ await openPreferencesViaOpenPreferencesAPI("general", { leaveOpen: true });
+ const contentDocument = gBrowser.contentDocument;
+ let dialogOverlay = content.gSubDialog._preloadDialog._overlay;
+
+ async function languagesSubdialogOpened() {
+ const promiseSubDialogLoaded = promiseLoadSubDialog(
+ "chrome://browser/content/preferences/dialogs/languages.xhtml"
+ );
+ contentDocument.getElementById("chooseLanguage").click();
+ const win = await promiseSubDialogLoaded;
+ win.Preferences.forceEnableInstantApply();
+ dialogOverlay = content.gSubDialog._topDialog._overlay;
+ ok(!BrowserTestUtils.is_hidden(dialogOverlay), "The dialog is visible.");
+ return win;
+ }
+
+ function closeLanguagesSubdialog() {
+ const closeBtn = dialogOverlay.querySelector(".dialogClose");
+ closeBtn.doCommand();
+ }
+
+ ok(BrowserTestUtils.is_hidden(dialogOverlay), "The dialog is invisible.");
+ let win = await languagesSubdialogOpened();
+ ok(
+ win.document.getElementById("spoofEnglish").hidden,
+ "The 'Request English' checkbox is hidden."
+ );
+ closeLanguagesSubdialog();
+ ok(BrowserTestUtils.is_hidden(dialogOverlay), "The dialog is invisible.");
+
+ await SpecialPowers.pushPrefEnv({
+ set: [
+ ["privacy.resistFingerprinting", true],
+ ["privacy.spoof_english", 0],
+ ],
+ });
+
+ win = await languagesSubdialogOpened();
+ ok(
+ !win.document.getElementById("spoofEnglish").hidden,
+ "The 'Request English' checkbox isn't hidden."
+ );
+ ok(
+ !win.document.getElementById("spoofEnglish").checked,
+ "The 'Request English' checkbox isn't checked."
+ );
+ is(
+ win.Preferences.get("privacy.spoof_english").value,
+ 0,
+ "The privacy.spoof_english pref is set to 0."
+ );
+
+ win.document.getElementById("spoofEnglish").checked = true;
+ win.document.getElementById("spoofEnglish").doCommand();
+ ok(
+ win.document.getElementById("spoofEnglish").checked,
+ "The 'Request English' checkbox is checked."
+ );
+ is(
+ win.Preferences.get("privacy.spoof_english").value,
+ 2,
+ "The privacy.spoof_english pref is set to 2."
+ );
+ closeLanguagesSubdialog();
+
+ win = await languagesSubdialogOpened();
+ ok(
+ !win.document.getElementById("spoofEnglish").hidden,
+ "The 'Request English' checkbox isn't hidden."
+ );
+ ok(
+ win.document.getElementById("spoofEnglish").checked,
+ "The 'Request English' checkbox is checked."
+ );
+ is(
+ win.Preferences.get("privacy.spoof_english").value,
+ 2,
+ "The privacy.spoof_english pref is set to 2."
+ );
+
+ win.document.getElementById("spoofEnglish").checked = false;
+ win.document.getElementById("spoofEnglish").doCommand();
+ ok(
+ !win.document.getElementById("spoofEnglish").checked,
+ "The 'Request English' checkbox isn't checked."
+ );
+ is(
+ win.Preferences.get("privacy.spoof_english").value,
+ 1,
+ "The privacy.spoof_english pref is set to 1."
+ );
+ closeLanguagesSubdialog();
+
+ win = await languagesSubdialogOpened();
+ ok(
+ !win.document.getElementById("spoofEnglish").hidden,
+ "The 'Request English' checkbox isn't hidden."
+ );
+ ok(
+ !win.document.getElementById("spoofEnglish").checked,
+ "The 'Request English' checkbox isn't checked."
+ );
+ is(
+ win.Preferences.get("privacy.spoof_english").value,
+ 1,
+ "The privacy.spoof_english pref is set to 1."
+ );
+ closeLanguagesSubdialog();
+
+ gBrowser.removeCurrentTab();
+});