diff options
Diffstat (limited to 'toolkit/components/satchel/test/test_password_autocomplete.html')
-rw-r--r-- | toolkit/components/satchel/test/test_password_autocomplete.html | 107 |
1 files changed, 0 insertions, 107 deletions
diff --git a/toolkit/components/satchel/test/test_password_autocomplete.html b/toolkit/components/satchel/test/test_password_autocomplete.html deleted file mode 100644 index 82781ae35..000000000 --- a/toolkit/components/satchel/test/test_password_autocomplete.html +++ /dev/null @@ -1,107 +0,0 @@ -<!DOCTYPE HTML> -<html> -<head> - <title>Test for form history on type=password</title> - <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> - <script type="text/javascript" src="/tests/SimpleTest/SpawnTask.js"></script> - <script type="text/javascript" src="/tests/SimpleTest/EventUtils.js"></script> - <script type="text/javascript" src="satchel_common.js"></script> - <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> -</head> -<body> - Test for form history on type=password - (based on test_bug_511615.html) -<p id="display"></p> - -<!-- we presumably can't hide the content for this test. --> -<div id="content"> - <datalist id="datalist1"> - <option>value10</option> - <option>value11</option> - <option>value12</option> - </datalist> - <form id="form1" onsubmit="return false;"> - <!-- Don't set the type to password until rememberSignons is false since we - want to test when rememberSignons is false. --> - <input type="to-be-password" name="field1" list="datalist1"> - <button type="submit">Submit</button> - </form> -</div> - -<pre id="test"> -<script class="testbody" type="text/javascript"> -/* import-globals-from satchel_common.js */ - -var resolvePopupShownListener; -registerPopupShownListener(() => resolvePopupShownListener()); - -function waitForNextPopup() { - return new Promise(resolve => { resolvePopupShownListener = resolve; }); -} - -/** - * Indicates the time to wait before checking that the state of the autocomplete - * popup, including whether it is open, has not changed in response to events. - * - * Manual testing on a fast machine revealed that 80ms was still unreliable, - * while 100ms detected a simulated failure reliably. Unfortunately, this means - * that to take into account slower machines we should use a larger value. - * - * Note that if a machine takes more than this time to show the popup, this - * would not cause a failure, conversely the machine would not be able to detect - * whether the test should have failed. In other words, this use of timeouts is - * never expected to cause intermittent failures with test automation. - */ -const POPUP_RESPONSE_WAIT_TIME_MS = 200; - -SimpleTest.requestFlakyTimeout("Must ensure that an event does not happen."); - -/** - * Checks that the popup does not open in response to the given function. - */ -function expectPopupDoesNotOpen(triggerFn) { - let popupShown = waitForNextPopup(); - triggerFn(); - return Promise.race([ - popupShown.then(() => Promise.reject("Popup opened unexpectedly.")), - new Promise(resolve => setTimeout(resolve, POPUP_RESPONSE_WAIT_TIME_MS)), - ]); -} - -add_task(function* test_initialize() { - yield SpecialPowers.pushPrefEnv({"set": [["signon.rememberSignons", false]]}); - - // Now that rememberSignons is false, create the password field - $_(1, "field1").type = "password"; - - yield new Promise(resolve => updateFormHistory([ - { op : "remove" }, - { op : "add", fieldname : "field1", value : "value1" }, - { op : "add", fieldname : "field1", value : "value2" }, - { op : "add", fieldname : "field1", value : "value3" }, - { op : "add", fieldname : "field1", value : "value4" }, - { op : "add", fieldname : "field1", value : "value5" }, - { op : "add", fieldname : "field1", value : "value6" }, - { op : "add", fieldname : "field1", value : "value7" }, - { op : "add", fieldname : "field1", value : "value8" }, - { op : "add", fieldname : "field1", value : "value9" }, - ], resolve)); -}); - -add_task(function* test_insecure_focusWarning() { - // The form is insecure so should show the warning even if password manager is disabled. - let input = $_(1, "field1"); - let shownPromise = waitForNextPopup(); - input.focus(); - yield shownPromise; - - ok(getMenuEntries()[0].includes("Logins entered here could be compromised"), - "Check warning is first") - - // Close the popup - input.blur(); -}); -</script> -</pre> -</body> -</html> |