diff options
Diffstat (limited to 'toolkit/components/passwordmgr/test/mochitest/test_recipe_login_fields.html')
-rw-r--r-- | toolkit/components/passwordmgr/test/mochitest/test_recipe_login_fields.html | 145 |
1 files changed, 0 insertions, 145 deletions
diff --git a/toolkit/components/passwordmgr/test/mochitest/test_recipe_login_fields.html b/toolkit/components/passwordmgr/test/mochitest/test_recipe_login_fields.html deleted file mode 100644 index 943bffc52..000000000 --- a/toolkit/components/passwordmgr/test/mochitest/test_recipe_login_fields.html +++ /dev/null @@ -1,145 +0,0 @@ -<!DOCTYPE html> -<html> -<head> - <meta charset="utf-8"> - <title>Test for recipes overriding login fields</title> - <script src="/tests/SimpleTest/SimpleTest.js"></script> - <script src="/tests/SimpleTest/SpawnTask.js"></script> - <script src="pwmgr_common.js"></script> - <link rel="stylesheet" href="/tests/SimpleTest/test.css" /> -</head> -<body> -<script> -var chromeScript = runChecksAfterCommonInit(); - -let fillPromiseResolvers = []; - -function waitForFills(fillCount) { - let promises = []; - while (fillCount--) { - let promise = new Promise(resolve => fillPromiseResolvers.push(resolve)); - promises.push(promise); - } - - return Promise.all(promises); -} - -add_task(function* setup() { - if (document.readyState !== "complete") { - yield new Promise((resolve) => { - document.onreadystatechange = () => { - if (document.readyState !== "complete") { - return; - } - document.onreadystatechange = null; - resolve(); - }; - }); - } - - document.getElementById("content") - .addEventListener("input", function handleInputEvent(evt) { - let resolve = fillPromiseResolvers.shift(); - if (!resolve) { - ok(false, "Too many fills"); - return; - } - - resolve(evt.target); - }); -}); - -add_task(function* loadUsernamePasswordSelectorRecipes() { - yield loadRecipes({ - siteRecipes: [{ - hosts: ["mochi.test:8888"], - usernameSelector: "input[name='uname1']", - passwordSelector: "input[name='pword2']", - }], - }); -}); - -add_task(function* testOverriddingFields() { - // Insert the form dynamically so autofill is triggered after setup above. - document.getElementById("content").innerHTML = ` - <!-- form with recipe for the username and password --> - <form id="form1"> - <input type="text" name="uname1" data-expected="true"> - <input type="text" name="uname2" data-expected="false"> - <input type="password" name="pword1" data-expected="false"> - <input type="password" name="pword2" data-expected="true"> - </form>`; - - let elements = yield waitForFills(2); - for (let element of elements) { - is(element.dataset.expected, "true", `${element.name} was filled`); - } -}); - -add_task(function* testDefaultHeuristics() { - // Insert the form dynamically so autofill is triggered after setup above. - document.getElementById("content").innerHTML = ` - <!-- Fallback to the default heuristics since the selectors don't match --> - <form id="form2"> - <input type="text" name="uname3" data-expected="false"> - <input type="text" name="uname4" data-expected="true"> - <input type="password" name="pword3" data-expected="true"> - <input type="password" name="pword4" data-expected="false"> - </form>`; - - let elements = yield waitForFills(2); - for (let element of elements) { - is(element.dataset.expected, "true", `${element.name} was filled`); - } -}); - -add_task(function* loadNotUsernameSelectorRecipes() { - yield resetRecipes(); - yield loadRecipes({ - siteRecipes: [{ - hosts: ["mochi.test:8888"], - notUsernameSelector: "input[name='not_uname1']" - }], - }); -}); - -add_task(function* testNotUsernameField() { - document.getElementById("content").innerHTML = ` - <!-- The field matching notUsernameSelector should be skipped --> - <form id="form3"> - <input type="text" name="uname5" data-expected="true"> - <input type="text" name="not_uname1" data-expected="false"> - <input type="password" name="pword5" data-expected="true"> - </form>`; - - let elements = yield waitForFills(2); - for (let element of elements) { - is(element.dataset.expected, "true", `${element.name} was filled`); - } -}); - -add_task(function* testNotUsernameFieldNoUsername() { - document.getElementById("content").innerHTML = ` - <!-- The field matching notUsernameSelector should be skipped. - No username field should be found and filled in this case --> - <form id="form4"> - <input type="text" name="not_uname1" data-expected="false"> - <input type="password" name="pword6" data-expected="true"> - </form>`; - - let elements = yield waitForFills(1); - for (let element of elements) { - is(element.dataset.expected, "true", `${element.name} was filled`); - } -}); - -</script> - -<p id="display"></p> - -<div id="content"> - // Forms are inserted dynamically -</div> -<pre id="test"></pre> -</body> -</html> |