diff options
Diffstat (limited to 'toolkit/components/passwordmgr/test/mochitest/test_username_focus.html')
-rw-r--r-- | toolkit/components/passwordmgr/test/mochitest/test_username_focus.html | 263 |
1 files changed, 0 insertions, 263 deletions
diff --git a/toolkit/components/passwordmgr/test/mochitest/test_username_focus.html b/toolkit/components/passwordmgr/test/mochitest/test_username_focus.html deleted file mode 100644 index c93c1e9c9..000000000 --- a/toolkit/components/passwordmgr/test/mochitest/test_username_focus.html +++ /dev/null @@ -1,263 +0,0 @@ - -<!DOCTYPE HTML> -<html> -<head> - <meta charset="utf-8"> - <title>Test interaction between autocomplete and focus on username fields</title> - <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> - <script type="text/javascript" src="/tests/SimpleTest/EventUtils.js"></script> - <script type="text/javascript" src="/tests/SimpleTest/SpawnTask.js"></script> - <script type="text/javascript" src="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> -<script> -let pwmgrCommonScript = runInParent(SimpleTest.getTestFileURL("pwmgr_common.js")); - -let readyPromise = registerRunTests(); -let chromeScript = runInParent(function chromeSetup() { - const { classes: Cc, interfaces: Ci, results: Cr, utils: Cu } = Components; - let pwmgr = Cc["@mozilla.org/login-manager;1"].getService(Ci.nsILoginManager); - - let login1A = Cc["@mozilla.org/login-manager/loginInfo;1"]. - createInstance(Ci.nsILoginInfo); - let login1B = Cc["@mozilla.org/login-manager/loginInfo;1"]. - createInstance(Ci.nsILoginInfo); - let login2A = Cc["@mozilla.org/login-manager/loginInfo;1"]. - createInstance(Ci.nsILoginInfo); - let login2B = Cc["@mozilla.org/login-manager/loginInfo;1"]. - createInstance(Ci.nsILoginInfo); - let login2C = Cc["@mozilla.org/login-manager/loginInfo;1"]. - createInstance(Ci.nsILoginInfo); - - login1A.init("http://mochi.test:8888", "http://username-focus-1", null, - "testuser1A", "testpass1A", "", ""); - - login2A.init("http://mochi.test:8888", "http://username-focus-2", null, - "testuser2A", "testpass2A", "", ""); - login2B.init("http://mochi.test:8888", "http://username-focus-2", null, - "testuser2B", "testpass2B", "", ""); - - pwmgr.addLogin(login1A); - pwmgr.addLogin(login2A); - pwmgr.addLogin(login2B); -}); -</script> - -<p id="display"></p> -<div id="content"> - <!-- first 3 forms have a matching user+pass login --> - - <!-- user+pass form. --> - <form id="form-autofilled" action="http://username-focus-1"> - <input type="text" name="uname"> - <input type="password" name="pword"> - <button type="submit" name="submit">Submit</button> - </form> - - <!-- user+pass form, username prefilled --> - <form id="form-autofilled-prefilled-un" action="http://username-focus-1"> - <input type="text" name="uname" value="testuser1A"> - <input type="password" name="pword"> - <button type="submit">Submit</button> - </form> - - <!-- user+pass form. --> - <form id="form-autofilled-focused-dynamic" action="http://username-focus-1"> - <input type="text" name="uname"> - <input type="not-yet-password" name="pword"> - <button type="submit">Submit</button> - </form> - - - <!-- next 5 forms have matching user+pass (2x) logins --> - - <!-- user+pass form. --> - <form id="form-multiple" action="http://username-focus-2"> - <input type="text" name="uname"> - <input type="password" name="pword"> - <button type="submit">Submit</button> - </form> - - <!-- user+pass form dynamic with existing focus --> - <form id="form-multiple-dynamic" action="http://username-focus-2"> - <input type="text" name="uname"> - <input type="not-yet-password" name="pword"> - <button type="submit">Submit</button> - </form> - - <!-- user+pass form, username prefilled --> - <form id="form-multiple-prefilled-un1" action="http://username-focus-2"> - <input type="text" name="uname" value="testuser2A"> - <input type="password" name="pword"> - <button type="submit">Submit</button> - </form> - - <!-- user+pass form, different username prefilled --> - <form id="form-multiple-prefilled-un2" action="http://username-focus-2"> - <input type="text" name="uname" value="testuser2B"> - <input type="password" name="pword"> - <button type="submit">Submit</button> - </form> - - <!-- user+pass form, username prefilled with existing focus --> - <form id="form-multiple-prefilled-focused-dynamic" action="http://username-focus-2"> - <input type="text" name="uname" value="testuser2B"> - <input type="not-yet-password" name="pword"> - <button type="submit">Submit</button> - </form> - -</div> -<pre id="test"> -<script class="testbody" type="text/javascript"> -function removeFocus() { - $_("-autofilled", "submit").focus(); -} - -add_task(function* setup() { - yield SpecialPowers.pushPrefEnv({"set": [ - ["security.insecure_field_warning.contextual.enabled", false], - ]}); - - ok(readyPromise, "check promise is available"); - yield readyPromise; -}); - -add_task(function* test_autofilled() { - let usernameField = $_("-autofilled", "uname"); - info("Username and password already filled so don't show autocomplete"); - let noPopupPromise = promiseNoUnexpectedPopupShown(); - usernameField.focus(); - yield noPopupPromise; - - removeFocus(); - usernameField.value = "testuser"; - info("Focus when we don't have an exact match"); - shownPromise = promiseACShown(); - usernameField.focus(); - yield shownPromise; -}); - -add_task(function* test_autofilled_prefilled_un() { - let usernameField = $_("-autofilled-prefilled-un", "uname"); - info("Username and password already filled so don't show autocomplete"); - let noPopupPromise = promiseNoUnexpectedPopupShown(); - usernameField.focus(); - yield noPopupPromise; - - removeFocus(); - usernameField.value = "testuser"; - info("Focus when we don't have an exact match"); - shownPromise = promiseACShown(); - usernameField.focus(); - yield shownPromise; -}); - -add_task(function* test_autofilled_focused_dynamic() { - let usernameField = $_("-autofilled-focused-dynamic", "uname"); - let passwordField = $_("-autofilled-focused-dynamic", "pword"); - info("Username and password will be filled while username focused"); - let noPopupPromise = promiseNoUnexpectedPopupShown(); - usernameField.focus(); - yield noPopupPromise; - info("triggering autofill"); - noPopupPromise = promiseNoUnexpectedPopupShown(); - passwordField.type = "password"; - yield noPopupPromise; - - let popupState = yield getPopupState(); - is(popupState.open, false, "Check popup is closed"); - - removeFocus(); - passwordField.value = "test"; - info("Focus when we don't have an exact match"); - shownPromise = promiseACShown(); - usernameField.focus(); - yield shownPromise; -}); - -// Begin testing forms that have multiple saved logins - -add_task(function* test_multiple() { - let usernameField = $_("-multiple", "uname"); - info("Fields not filled due to multiple so autocomplete upon focus"); - shownPromise = promiseACShown(); - usernameField.focus(); - yield shownPromise; -}); - -add_task(function* test_multiple_dynamic() { - let usernameField = $_("-multiple-dynamic", "uname"); - let passwordField = $_("-multiple-dynamic", "pword"); - info("Fields not filled but username is focused upon marking so open"); - let noPopupPromise = promiseNoUnexpectedPopupShown(); - usernameField.focus(); - yield noPopupPromise; - - info("triggering _fillForm code"); - let shownPromise = promiseACShown(); - passwordField.type = "password"; - yield shownPromise; -}); - -add_task(function* test_multiple_prefilled_un1() { - let usernameField = $_("-multiple-prefilled-un1", "uname"); - info("Username and password already filled so don't show autocomplete"); - let noPopupPromise = promiseNoUnexpectedPopupShown(); - usernameField.focus(); - yield noPopupPromise; - - removeFocus(); - usernameField.value = "testuser"; - info("Focus when we don't have an exact match"); - shownPromise = promiseACShown(); - usernameField.focus(); - yield shownPromise; -}); - -add_task(function* test_multiple_prefilled_un2() { - let usernameField = $_("-multiple-prefilled-un2", "uname"); - info("Username and password already filled so don't show autocomplete"); - let noPopupPromise = promiseNoUnexpectedPopupShown(); - usernameField.focus(); - yield noPopupPromise; - - removeFocus(); - usernameField.value = "testuser"; - info("Focus when we don't have an exact match"); - shownPromise = promiseACShown(); - usernameField.focus(); - yield shownPromise; -}); - -add_task(function* test_multiple_prefilled_focused_dynamic() { - let usernameField = $_("-multiple-prefilled-focused-dynamic", "uname"); - let passwordField = $_("-multiple-prefilled-focused-dynamic", "pword"); - info("Username and password will be filled while username focused"); - let noPopupPromise = promiseNoUnexpectedPopupShown(); - usernameField.focus(); - yield noPopupPromise; - info("triggering autofill"); - noPopupPromise = promiseNoUnexpectedPopupShown(); - passwordField.type = "password"; - yield noPopupPromise; - - let popupState = yield getPopupState(); - is(popupState.open, false, "Check popup is closed"); - - removeFocus(); - passwordField.value = "test"; - info("Focus when we don't have an exact match"); - shownPromise = promiseACShown(); - usernameField.focus(); - yield shownPromise; -}); - -add_task(function* cleanup() { - removeFocus(); -}); -</script> -</pre> -</body> -</html> |