diff options
author | wolfbeast <mcwerewolf@wolfbeast.com> | 2020-04-14 21:49:04 +0200 |
---|---|---|
committer | wolfbeast <mcwerewolf@wolfbeast.com> | 2020-04-14 21:49:04 +0200 |
commit | 39dac57259cff8b61db0b22cb2ad0a8adb02692e (patch) | |
tree | 52a026cc8c22793eb17fd0f5e22adce1ae08a1dd /toolkit/components/passwordmgr/test/unit/test_getFormFields.js | |
parent | a1cce3b2b00bbd9f4983013ddd8934a7bccb9e99 (diff) | |
parent | c2d9ab62f3d097c9e0e00184cab1f546554f5eaa (diff) | |
download | UXP-39dac57259cff8b61db0b22cb2ad0a8adb02692e.tar UXP-39dac57259cff8b61db0b22cb2ad0a8adb02692e.tar.gz UXP-39dac57259cff8b61db0b22cb2ad0a8adb02692e.tar.lz UXP-39dac57259cff8b61db0b22cb2ad0a8adb02692e.tar.xz UXP-39dac57259cff8b61db0b22cb2ad0a8adb02692e.zip |
Merge branch 'redwood' into 28.9-platform
Diffstat (limited to 'toolkit/components/passwordmgr/test/unit/test_getFormFields.js')
-rw-r--r-- | toolkit/components/passwordmgr/test/unit/test_getFormFields.js | 147 |
1 files changed, 0 insertions, 147 deletions
diff --git a/toolkit/components/passwordmgr/test/unit/test_getFormFields.js b/toolkit/components/passwordmgr/test/unit/test_getFormFields.js deleted file mode 100644 index 46912ab8f..000000000 --- a/toolkit/components/passwordmgr/test/unit/test_getFormFields.js +++ /dev/null @@ -1,147 +0,0 @@ -/* - * Test for LoginManagerContent._getFormFields. - */ - -"use strict"; - -// Services.prefs.setBoolPref("signon.debug", true); - -Cu.importGlobalProperties(["URL"]); - -const LMCBackstagePass = Cu.import("resource://gre/modules/LoginManagerContent.jsm"); -const { LoginManagerContent, LoginFormFactory } = LMCBackstagePass; -const TESTCASES = [ - { - description: "1 password field outside of a <form>", - document: `<input id="pw1" type=password>`, - returnedFieldIDs: [null, "pw1", null], - skipEmptyFields: undefined, - }, - { - description: "1 text field outside of a <form> without a password field", - document: `<input id="un1">`, - returnedFieldIDs: [null, null, null], - skipEmptyFields: undefined, - }, - { - description: "1 username & password field outside of a <form>", - document: `<input id="un1"> - <input id="pw1" type=password>`, - returnedFieldIDs: ["un1", "pw1", null], - skipEmptyFields: undefined, - }, - { - description: "1 username & password field in a <form>", - document: `<form> - <input id="un1"> - <input id="pw1" type=password> - </form>`, - returnedFieldIDs: ["un1", "pw1", null], - skipEmptyFields: undefined, - }, - { - description: "4 empty password fields outside of a <form>", - document: `<input id="pw1" type=password> - <input id="pw2" type=password> - <input id="pw3" type=password> - <input id="pw4" type=password>`, - returnedFieldIDs: [null, null, null], - skipEmptyFields: undefined, - }, - { - description: "4 password fields outside of a <form> (1 empty, 3 full) with skipEmpty", - document: `<input id="pw1" type=password> - <input id="pw2" type=password value="pass2"> - <input id="pw3" type=password value="pass3"> - <input id="pw4" type=password value="pass4">`, - returnedFieldIDs: [null, null, null], - skipEmptyFields: true, - }, - { - description: "Form with 1 password field", - document: `<form><input id="pw1" type=password></form>`, - returnedFieldIDs: [null, "pw1", null], - skipEmptyFields: undefined, - }, - { - description: "Form with 2 password fields", - document: `<form><input id="pw1" type=password><input id='pw2' type=password></form>`, - returnedFieldIDs: [null, "pw1", null], - skipEmptyFields: undefined, - }, - { - description: "1 password field in a form, 1 outside (not processed)", - document: `<form><input id="pw1" type=password></form><input id="pw2" type=password>`, - returnedFieldIDs: [null, "pw1", null], - skipEmptyFields: undefined, - }, - { - description: "1 password field in a form, 1 text field outside (not processed)", - document: `<form><input id="pw1" type=password></form><input>`, - returnedFieldIDs: [null, "pw1", null], - skipEmptyFields: undefined, - }, - { - description: "1 text field in a form, 1 password field outside (not processed)", - document: `<form><input></form><input id="pw1" type=password>`, - returnedFieldIDs: [null, null, null], - skipEmptyFields: undefined, - }, - { - description: "2 password fields outside of a <form> with 1 linked via @form", - document: `<input id="pw1" type=password><input id="pw2" type=password form='form1'> - <form id="form1"></form>`, - returnedFieldIDs: [null, "pw1", null], - skipEmptyFields: undefined, - }, - { - description: "2 password fields outside of a <form> with 1 linked via @form + skipEmpty", - document: `<input id="pw1" type=password><input id="pw2" type=password form="form1"> - <form id="form1"></form>`, - returnedFieldIDs: [null, null, null], - skipEmptyFields: true, - }, - { - description: "2 password fields outside of a <form> with 1 linked via @form + skipEmpty with 1 empty", - document: `<input id="pw1" type=password value="pass1"><input id="pw2" type=password form="form1"> - <form id="form1"></form>`, - returnedFieldIDs: [null, "pw1", null], - skipEmptyFields: true, - }, -]; - -for (let tc of TESTCASES) { - do_print("Sanity checking the testcase: " + tc.description); - - (function() { - let testcase = tc; - add_task(function*() { - do_print("Starting testcase: " + testcase.description); - let document = MockDocument.createTestDocument("http://localhost:8080/test/", - testcase.document); - - let input = document.querySelector("input"); - MockDocument.mockOwnerDocumentProperty(input, document, "http://localhost:8080/test/"); - - let formLike = LoginFormFactory.createFromField(input); - - let actual = LoginManagerContent._getFormFields(formLike, - testcase.skipEmptyFields, - new Set()); - - Assert.strictEqual(testcase.returnedFieldIDs.length, 3, - "_getFormFields returns 3 elements"); - - for (let i = 0; i < testcase.returnedFieldIDs.length; i++) { - let expectedID = testcase.returnedFieldIDs[i]; - if (expectedID === null) { - Assert.strictEqual(actual[i], expectedID, - "Check returned field " + i + " is null"); - } else { - Assert.strictEqual(actual[i].id, expectedID, - "Check returned field " + i + " ID"); - } - } - }); - })(); -} |