summaryrefslogtreecommitdiffstats
path: root/toolkit/components/passwordmgr/test/browser/browser_form_history_fallback.js
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
commit26a029d407be480d791972afb5975cf62c9360a6 (patch)
treef435a8308119effd964b339f76abb83a57c29483 /toolkit/components/passwordmgr/test/browser/browser_form_history_fallback.js
parentInitial commit. (diff)
downloadfirefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz
firefox-26a029d407be480d791972afb5975cf62c9360a6.zip
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'toolkit/components/passwordmgr/test/browser/browser_form_history_fallback.js')
-rw-r--r--toolkit/components/passwordmgr/test/browser/browser_form_history_fallback.js72
1 files changed, 72 insertions, 0 deletions
diff --git a/toolkit/components/passwordmgr/test/browser/browser_form_history_fallback.js b/toolkit/components/passwordmgr/test/browser/browser_form_history_fallback.js
new file mode 100644
index 0000000000..6a198e021a
--- /dev/null
+++ b/toolkit/components/passwordmgr/test/browser/browser_form_history_fallback.js
@@ -0,0 +1,72 @@
+const { FormHistoryTestUtils } = ChromeUtils.importESModule(
+ "resource://testing-common/FormHistoryTestUtils.sys.mjs"
+);
+
+const usernameFieldName = "user";
+
+async function cleanup() {
+ Services.prefs.clearUserPref("signon.rememberSignons");
+ Services.logins.removeAllLogins();
+ await FormHistoryTestUtils.clear(usernameFieldName);
+}
+
+add_setup(async function () {
+ await cleanup();
+});
+
+add_task(
+ async function test_username_not_saved_in_form_history_when_password_manager_enabled() {
+ Services.prefs.setBoolPref("signon.rememberSignons", true);
+
+ const storageChangedPromise = TestUtils.topicObserved(
+ "passwordmgr-storage-changed",
+ (_, data) => data == "addLogin"
+ );
+
+ await testSubmittingLoginFormHTTP(
+ "subtst_notifications_1.html",
+ async () => {
+ const notif = await getCaptureDoorhangerThatMayOpen("password-save");
+ await clickDoorhangerButton(notif, REMEMBER_BUTTON);
+ }
+ );
+
+ await storageChangedPromise;
+
+ const loginEntries = (await Services.logins.getAllLogins()).length;
+ const historyEntries = await FormHistoryTestUtils.count(usernameFieldName);
+
+ Assert.equal(
+ loginEntries,
+ 1,
+ "Username should be saved in password manager"
+ );
+
+ Assert.equal(
+ historyEntries,
+ 0,
+ "Username should not be saved in form history"
+ );
+ await cleanup();
+ }
+);
+
+add_task(
+ async function test_username_saved_in_form_history_when_password_manager_disabled() {
+ Services.prefs.setBoolPref("signon.rememberSignons", false);
+
+ await testSubmittingLoginFormHTTP("subtst_notifications_1.html");
+
+ const loginEntries = (await Services.logins.getAllLogins()).length;
+ const historyEntries = await FormHistoryTestUtils.count(usernameFieldName);
+
+ Assert.equal(
+ loginEntries,
+ 0,
+ "Username should not be saved in password manager"
+ );
+
+ Assert.equal(historyEntries, 1, "Username should be saved in form history");
+ await cleanup();
+ }
+);