summaryrefslogtreecommitdiffstats
path: root/toolkit/components/passwordmgr/test/browser/browser_autocomplete_autofocus_with_frame.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/passwordmgr/test/browser/browser_autocomplete_autofocus_with_frame.js')
-rw-r--r--toolkit/components/passwordmgr/test/browser/browser_autocomplete_autofocus_with_frame.js48
1 files changed, 48 insertions, 0 deletions
diff --git a/toolkit/components/passwordmgr/test/browser/browser_autocomplete_autofocus_with_frame.js b/toolkit/components/passwordmgr/test/browser/browser_autocomplete_autofocus_with_frame.js
new file mode 100644
index 0000000000..551e1b939a
--- /dev/null
+++ b/toolkit/components/passwordmgr/test/browser/browser_autocomplete_autofocus_with_frame.js
@@ -0,0 +1,48 @@
+const TEST_URL_PATH = "https://example.org" + DIRECTORY_PATH;
+
+add_setup(async function () {
+ let login = LoginTestUtils.testData.formLogin({
+ origin: "https://example.org",
+ formActionOrigin: "https://example.org",
+ username: "username1",
+ password: "password1",
+ });
+ await Services.logins.addLoginAsync(login);
+ login = LoginTestUtils.testData.formLogin({
+ origin: "https://example.org",
+ formActionOrigin: "https://example.org",
+ username: "username2",
+ password: "password2",
+ });
+ await Services.logins.addLoginAsync(login);
+});
+
+// Verify that the autocomplete popup opens when the username field in autofocused.
+add_task(async function test_autofocus_autocomplete() {
+ let popup = document.getElementById("PopupAutoComplete");
+ let popupShown = BrowserTestUtils.waitForEvent(popup, "popupshown");
+
+ let formFilled = listenForTestNotification("FormProcessed");
+ let tab = await BrowserTestUtils.openNewForegroundTab(
+ gBrowser,
+ TEST_URL_PATH + "form_autofocus_frame.html"
+ );
+
+ await formFilled;
+ await popupShown;
+
+ Assert.ok(true, "popup opened");
+
+ let promiseHidden = BrowserTestUtils.waitForEvent(popup, "popuphidden");
+ popup.firstChild.getItemAtIndex(0).click();
+ await promiseHidden;
+
+ Assert.ok(true, "popup closed");
+
+ let password = await SpecialPowers.spawn(tab.linkedBrowser, [], () => {
+ return content.document.getElementById("form-basic-password").value;
+ });
+ Assert.equal(password, "password1", "password filled in");
+
+ gBrowser.removeTab(tab);
+});