summaryrefslogtreecommitdiffstats
path: root/toolkit/components/passwordmgr/test/mochitest/test_autocomplete_highlight_username_only_form.html
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/passwordmgr/test/mochitest/test_autocomplete_highlight_username_only_form.html')
-rw-r--r--toolkit/components/passwordmgr/test/mochitest/test_autocomplete_highlight_username_only_form.html56
1 files changed, 56 insertions, 0 deletions
diff --git a/toolkit/components/passwordmgr/test/mochitest/test_autocomplete_highlight_username_only_form.html b/toolkit/components/passwordmgr/test/mochitest/test_autocomplete_highlight_username_only_form.html
new file mode 100644
index 0000000000..884bdc66d3
--- /dev/null
+++ b/toolkit/components/passwordmgr/test/mochitest/test_autocomplete_highlight_username_only_form.html
@@ -0,0 +1,56 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+ <meta charset="utf-8">
+ <title>Test form field autofill highlight</title>
+ <script src="/tests/SimpleTest/SimpleTest.js"></script>
+ <script src="/tests/SimpleTest/EventUtils.js"></script>
+ <script type="text/javascript" src="../../../satchel/test/satchel_common.js"></script>
+ <script type="text/javascript" src="pwmgr_common.js"></script>
+ <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
+</head>
+<body>
+<p id="display"></p>
+<div id="content"></div>
+<pre id="test">
+<script>
+const { ContentTaskUtils } = SpecialPowers.ChromeUtils.import(
+ "resource://testing-common/ContentTaskUtils.jsm"
+);
+
+add_setup(async () => {
+ await addLoginsInParent(
+ [location.origin, "https://autocomplete", null, "user1", "pass1", "", ""],
+ [location.origin, "https://autocomplete", null, "user2", "pass2", "", ""]
+ );
+});
+
+add_task(async function test_username_field_in_username_only_form_highlight_on_autocomplete() {
+ const form = createLoginForm({
+ action: "https://autocomplete",
+ username: {
+ autocomplete: "username"
+ },
+ password: false
+ });
+
+ await openPopupOn(form.uname);
+ synthesizeKey("KEY_ArrowDown");
+ await synthesizeKey("KEY_Enter");
+
+ await ContentTaskUtils.waitForCondition(() => {
+ return form.uname.matches(":autofill");
+ }, "Highlight was successfully applied to the username field on username autocomplete");
+
+ // Clear existing highlight on login fields. We check by pressing the tab key after backspace
+ // (by shifting focus to the next element) because the tab key was known to cause a bug where the
+ // highlight is applied once again. See Bug 1526522.
+ form.uname.focus();
+ synthesizeKey("KEY_Backspace");
+ synthesizeKey("KEY_Tab");
+ ok(!form.uname.matches(":autofill"),
+ "Highlight was successfully removed on the username field");
+});
+</script>
+</body>
+</html>