Bug 1273871 - Split up browser_capture_doorhanger.js test for avoiding the timeout issue. r=MattN draft
authorEvan Tseng <evan@tseng.io>
Fri, 30 Sep 2016 18:24:02 +0800
changeset 443746 3951d5b5a2ce77eb5f06bf45dfbfd894ec1a155a
parent 443602 bad312aefb42982f492ad2cf36f4c6c3d698f4f7
child 538132 242f46ee31971c33d449cffea04c97b63cb18380
push id37085
push userbmo:evan@tseng.io
push dateFri, 25 Nov 2016 06:07:41 +0000
reviewersMattN
bugs1273871
milestone53.0a1
Bug 1273871 - Split up browser_capture_doorhanger.js test for avoiding the timeout issue. r=MattN MozReview-Commit-ID: CAd4VP53I3h
toolkit/components/passwordmgr/test/browser/browser.ini
toolkit/components/passwordmgr/test/browser/browser_capture_doorhanger.js
toolkit/components/passwordmgr/test/browser/browser_capture_doorhanger_httpsUpgrade.js
--- a/toolkit/components/passwordmgr/test/browser/browser.ini
+++ b/toolkit/components/passwordmgr/test/browser/browser.ini
@@ -10,30 +10,33 @@ support-files =
   form_cross_origin_secure_action.html
   head.js
   insecure_test.html
   insecure_test_subframe.html
   multiple_forms.html
   streamConverter_content.sjs
 
 [browser_capture_doorhanger.js]
-skip-if = true # Bug 1273871
 support-files =
   subtst_notifications_1.html
   subtst_notifications_2.html
   subtst_notifications_2pw_0un.html
   subtst_notifications_2pw_1un_1text.html
   subtst_notifications_3.html
   subtst_notifications_4.html
   subtst_notifications_5.html
   subtst_notifications_6.html
   subtst_notifications_8.html
   subtst_notifications_9.html
   subtst_notifications_10.html
   subtst_notifications_change_p.html
+[browser_capture_doorhanger_httpsUpgrade.js]
+support-files =
+  subtst_notifications_1.html
+  subtst_notifications_8.html
 [browser_capture_doorhanger_window_open.js]
 support-files =
   subtst_notifications_11.html
   subtst_notifications_11_popup.html
 [browser_username_select_dialog.js]
 support-files =
   subtst_notifications_change_p.html
 [browser_DOMFormHasPassword.js]
--- a/toolkit/components/passwordmgr/test/browser/browser_capture_doorhanger.js
+++ b/toolkit/components/passwordmgr/test/browser/browser_capture_doorhanger.js
@@ -4,18 +4,16 @@
 
 const BRAND_BUNDLE = Services.strings.createBundle("chrome://branding/locale/brand.properties");
 const BRAND_SHORT_NAME = BRAND_BUNDLE.GetStringFromName("brandShortName");
 
 let nsLoginInfo = new Components.Constructor("@mozilla.org/login-manager/loginInfo;1",
                                              Ci.nsILoginInfo, "init");
 let login1 = new nsLoginInfo("http://example.com", "http://example.com", null,
                              "notifyu1", "notifyp1", "user", "pass");
-let login1HTTPS = new nsLoginInfo("https://example.com", "https://example.com", null,
-                                  "notifyu1", "notifyp1", "user", "pass");
 let login2 = new nsLoginInfo("http://example.com", "http://example.com", null,
                              "", "notifyp1", "", "pass");
 let login1B = new nsLoginInfo("http://example.com", "http://example.com", null,
                               "notifyu1B", "notifyp1B", "user", "pass");
 let login2B = new nsLoginInfo("http://example.com", "http://example.com", null,
                               "", "notifyp1B", "", "pass");
 
 requestLongerTimeout(2);
@@ -593,124 +591,10 @@ add_task(function* test_noShowPasswordOn
     notif.anchorElement.click();
     yield promiseShown;
 
     let passwordVisiblityToggle = panel.querySelector("#password-notification-visibilityToggle");
     is(passwordVisiblityToggle.hidden, true, "Check that the Show Password field is Hidden");
   });
 });
 
-add_task(function* test_httpsUpgradeCaptureFields_noChange() {
-  info("Check that we don't prompt to remember when capturing an upgraded login with no change");
-  Services.logins.addLogin(login1);
-  // Sanity check the HTTP login exists.
-  let logins = Services.logins.getAllLogins();
-  is(logins.length, 1, "Should have the HTTP login");
-
-  yield testSubmittingLoginForm("subtst_notifications_1.html", function*(fieldValues) {
-    is(fieldValues.username, "notifyu1", "Checking submitted username");
-    is(fieldValues.password, "notifyp1", "Checking submitted password");
-    let notif = getCaptureDoorhanger("password-save");
-    ok(!notif, "checking for no notification popup");
-  }, "https://example.com"); // This is HTTPS whereas the saved login is HTTP
-
-  logins = Services.logins.getAllLogins();
-  is(logins.length, 1, "Should only have 1 login still");
-  let login = logins[0].QueryInterface(Ci.nsILoginMetaInfo);
-  is(login.hostname, "http://example.com", "Check the hostname is unchanged");
-  is(login.username, "notifyu1", "Check the username is unchanged");
-  is(login.password, "notifyp1", "Check the password is unchanged");
-  is(login.timesUsed, 2, "Check times used increased");
-
-  Services.logins.removeLogin(login1);
-});
-
-add_task(function* test_httpsUpgradeCaptureFields_changePW() {
-  info("Check that we prompt to change when capturing an upgraded login with a new PW");
-  Services.logins.addLogin(login1);
-  // Sanity check the HTTP login exists.
-  let logins = Services.logins.getAllLogins();
-  is(logins.length, 1, "Should have the HTTP login");
-
-  yield testSubmittingLoginForm("subtst_notifications_8.html", function*(fieldValues) {
-    is(fieldValues.username, "notifyu1", "Checking submitted username");
-    is(fieldValues.password, "pass2", "Checking submitted password");
-    let notif = getCaptureDoorhanger("password-change");
-    ok(notif, "checking for a change popup");
-
-    yield* checkDoorhangerUsernamePassword("notifyu1", "pass2");
-    clickDoorhangerButton(notif, CHANGE_BUTTON);
-
-    ok(!getCaptureDoorhanger("password-change"), "popup should be gone");
-  }, "https://example.com"); // This is HTTPS whereas the saved login is HTTP
-
-  checkOnlyLoginWasUsedTwice({ justChanged: true });
-  logins = Services.logins.getAllLogins();
-  is(logins.length, 1, "Should only have 1 login still");
-  let login = logins[0].QueryInterface(Ci.nsILoginMetaInfo);
-  is(login.hostname, "https://example.com", "Check the hostname is upgraded");
-  is(login.formSubmitURL, "https://example.com", "Check the formSubmitURL is upgraded");
-  is(login.username, "notifyu1", "Check the username is unchanged");
-  is(login.password, "pass2", "Check the password changed");
-  is(login.timesUsed, 2, "Check times used increased");
-
-  Services.logins.removeAllLogins();
-});
-
-add_task(function* test_httpsUpgradeCaptureFields_captureMatchingHTTP() {
-  info("Capture a new HTTP login which matches a stored HTTPS one.");
-  Services.logins.addLogin(login1HTTPS);
-
-  yield testSubmittingLoginForm("subtst_notifications_1.html", function*(fieldValues) {
-    is(fieldValues.username, "notifyu1", "Checking submitted username");
-    is(fieldValues.password, "notifyp1", "Checking submitted password");
-    let notif = getCaptureDoorhanger("password-save");
-    ok(notif, "got notification popup");
-
-    is(Services.logins.getAllLogins().length, 1, "Should only have the HTTPS login");
-
-    yield* checkDoorhangerUsernamePassword("notifyu1", "notifyp1");
-    clickDoorhangerButton(notif, REMEMBER_BUTTON);
-  });
-
-  let logins = Services.logins.getAllLogins();
-  is(logins.length, 2, "Should have both HTTP and HTTPS logins");
-  for (let login of logins) {
-    login = login.QueryInterface(Ci.nsILoginMetaInfo);
-    is(login.username, "notifyu1", "Check the username used on the new entry");
-    is(login.password, "notifyp1", "Check the password used on the new entry");
-    is(login.timesUsed, 1, "Check times used on entry");
-  }
-
-  info("Make sure Remember took effect and we don't prompt for an existing HTTP login");
-  yield testSubmittingLoginForm("subtst_notifications_1.html", function*(fieldValues) {
-    is(fieldValues.username, "notifyu1", "Checking submitted username");
-    is(fieldValues.password, "notifyp1", "Checking submitted password");
-    let notif = getCaptureDoorhanger("password-save");
-    ok(!notif, "checking for no notification popup");
-  });
-
-  logins = Services.logins.getAllLogins();
-  is(logins.length, 2, "Should have both HTTP and HTTPS still");
-
-  let httpsLogins = LoginHelper.searchLoginsWithObject({
-    hostname: "https://example.com",
-  });
-  is(httpsLogins.length, 1, "Check https logins count");
-  let httpsLogin = httpsLogins[0].QueryInterface(Ci.nsILoginMetaInfo);
-  ok(httpsLogin.equals(login1HTTPS), "Check HTTPS login didn't change");
-  is(httpsLogin.timesUsed, 1, "Check times used");
-
-  let httpLogins = LoginHelper.searchLoginsWithObject({
-    hostname: "http://example.com",
-  });
-  is(httpLogins.length, 1, "Check http logins count");
-  let httpLogin = httpLogins[0].QueryInterface(Ci.nsILoginMetaInfo);
-  ok(httpLogin.equals(login1), "Check HTTP login is as expected");
-  is(httpLogin.timesUsed, 2, "Check times used increased");
-
-  Services.logins.removeLogin(login1);
-  Services.logins.removeLogin(login1HTTPS);
-});
-
-
 // TODO:
 // * existing login test, form has different password --> change password, no save prompt
copy from toolkit/components/passwordmgr/test/browser/browser_capture_doorhanger.js
copy to toolkit/components/passwordmgr/test/browser/browser_capture_doorhanger_httpsUpgrade.js
--- a/toolkit/components/passwordmgr/test/browser/browser_capture_doorhanger.js
+++ b/toolkit/components/passwordmgr/test/browser/browser_capture_doorhanger_httpsUpgrade.js
@@ -1,607 +1,18 @@
 /*
- * Test capture popup notifications
+ * Test capture popup notifications with HTTPS upgrades
  */
 
-const BRAND_BUNDLE = Services.strings.createBundle("chrome://branding/locale/brand.properties");
-const BRAND_SHORT_NAME = BRAND_BUNDLE.GetStringFromName("brandShortName");
-
 let nsLoginInfo = new Components.Constructor("@mozilla.org/login-manager/loginInfo;1",
                                              Ci.nsILoginInfo, "init");
 let login1 = new nsLoginInfo("http://example.com", "http://example.com", null,
                              "notifyu1", "notifyp1", "user", "pass");
 let login1HTTPS = new nsLoginInfo("https://example.com", "https://example.com", null,
                                   "notifyu1", "notifyp1", "user", "pass");
-let login2 = new nsLoginInfo("http://example.com", "http://example.com", null,
-                             "", "notifyp1", "", "pass");
-let login1B = new nsLoginInfo("http://example.com", "http://example.com", null,
-                              "notifyu1B", "notifyp1B", "user", "pass");
-let login2B = new nsLoginInfo("http://example.com", "http://example.com", null,
-                              "", "notifyp1B", "", "pass");
-
-requestLongerTimeout(2);
-
-add_task(function* setup() {
-  // Load recipes for this test.
-  let recipeParent = yield LoginManagerParent.recipeParentPromise;
-  yield recipeParent.load({
-    siteRecipes: [{
-      hosts: ["example.org"],
-      usernameSelector: "#user",
-      passwordSelector: "#pass",
-    }],
-  });
-});
-
-add_task(function* test_remember_opens() {
-  yield testSubmittingLoginForm("subtst_notifications_1.html", function*(fieldValues) {
-    is(fieldValues.username, "notifyu1", "Checking submitted username");
-    is(fieldValues.password, "notifyp1", "Checking submitted password");
-    let notif = getCaptureDoorhanger("password-save");
-    ok(notif, "got notification popup");
-    notif.remove();
-  });
-});
-
-add_task(function* test_clickNever() {
-  yield testSubmittingLoginForm("subtst_notifications_1.html", function*(fieldValues) {
-    is(fieldValues.username, "notifyu1", "Checking submitted username");
-    is(fieldValues.password, "notifyp1", "Checking submitted password");
-    let notif = getCaptureDoorhanger("password-save");
-    ok(notif, "got notification popup");
-    is(true, Services.logins.getLoginSavingEnabled("http://example.com"),
-       "Checking for login saving enabled");
-
-    yield* checkDoorhangerUsernamePassword("notifyu1", "notifyp1");
-    clickDoorhangerButton(notif, NEVER_BUTTON);
-  });
-
-  is(Services.logins.getAllLogins().length, 0, "Should not have any logins yet");
-
-  info("Make sure Never took effect");
-  yield testSubmittingLoginForm("subtst_notifications_1.html", function*(fieldValues) {
-    is(fieldValues.username, "notifyu1", "Checking submitted username");
-    is(fieldValues.password, "notifyp1", "Checking submitted password");
-    let notif = getCaptureDoorhanger("password-save");
-    ok(!notif, "checking for no notification popup");
-    is(false, Services.logins.getLoginSavingEnabled("http://example.com"),
-       "Checking for login saving disabled");
-    Services.logins.setLoginSavingEnabled("http://example.com", true);
-  });
-
-  is(Services.logins.getAllLogins().length, 0, "Should not have any logins yet");
-});
-
-add_task(function* test_clickRemember() {
-  yield testSubmittingLoginForm("subtst_notifications_1.html", function*(fieldValues) {
-    is(fieldValues.username, "notifyu1", "Checking submitted username");
-    is(fieldValues.password, "notifyp1", "Checking submitted password");
-    let notif = getCaptureDoorhanger("password-save");
-    ok(notif, "got notification popup");
-
-    is(Services.logins.getAllLogins().length, 0, "Should not have any logins yet");
-
-    yield* checkDoorhangerUsernamePassword("notifyu1", "notifyp1");
-    clickDoorhangerButton(notif, REMEMBER_BUTTON);
-  });
-
-  let logins = Services.logins.getAllLogins();
-  is(logins.length, 1, "Should only have 1 login");
-  let login = logins[0].QueryInterface(Ci.nsILoginMetaInfo);
-  is(login.username, "notifyu1", "Check the username used on the new entry");
-  is(login.password, "notifyp1", "Check the password used on the new entry");
-  is(login.timesUsed, 1, "Check times used on new entry");
-
-  info("Make sure Remember took effect and we don't prompt for an existing login");
-  yield testSubmittingLoginForm("subtst_notifications_1.html", function*(fieldValues) {
-    is(fieldValues.username, "notifyu1", "Checking submitted username");
-    is(fieldValues.password, "notifyp1", "Checking submitted password");
-    let notif = getCaptureDoorhanger("password-save");
-    ok(!notif, "checking for no notification popup");
-  });
-
-  logins = Services.logins.getAllLogins();
-  is(logins.length, 1, "Should only have 1 login");
-  login = logins[0].QueryInterface(Ci.nsILoginMetaInfo);
-  is(login.username, "notifyu1", "Check the username used");
-  is(login.password, "notifyp1", "Check the password used");
-  is(login.timesUsed, 2, "Check times used incremented");
-
-  checkOnlyLoginWasUsedTwice({ justChanged: false });
-
-  // remove that login
-  Services.logins.removeLogin(login1);
-});
-
-/* signons.rememberSignons pref tests... */
-
-add_task(function* test_rememberSignonsFalse() {
-  info("Make sure we don't prompt with rememberSignons=false");
-  Services.prefs.setBoolPref("signon.rememberSignons", false);
-
-  yield testSubmittingLoginForm("subtst_notifications_1.html", function*(fieldValues) {
-    is(fieldValues.username, "notifyu1", "Checking submitted username");
-    is(fieldValues.password, "notifyp1", "Checking submitted password");
-    let notif = getCaptureDoorhanger("password-save");
-    ok(!notif, "checking for no notification popup");
-  });
-
-  is(Services.logins.getAllLogins().length, 0, "Should not have any logins yet");
-});
-
-add_task(function* test_rememberSignonsTrue() {
-  info("Make sure we prompt with rememberSignons=true");
-  Services.prefs.setBoolPref("signon.rememberSignons", true);
-
-  yield testSubmittingLoginForm("subtst_notifications_1.html", function*(fieldValues) {
-    is(fieldValues.username, "notifyu1", "Checking submitted username");
-    is(fieldValues.password, "notifyp1", "Checking submitted password");
-    let notif = getCaptureDoorhanger("password-save");
-    ok(notif, "got notification popup");
-    notif.remove();
-  });
-
-  is(Services.logins.getAllLogins().length, 0, "Should not have any logins yet");
-});
-
-/* autocomplete=off tests... */
-
-add_task(function* test_autocompleteOffUsername() {
-  info("Check for notification popup when autocomplete=off present on username");
-
-  yield testSubmittingLoginForm("subtst_notifications_2.html", function*(fieldValues) {
-    is(fieldValues.username, "notifyu1", "Checking submitted username");
-    is(fieldValues.password, "notifyp1", "Checking submitted password");
-    let notif = getCaptureDoorhanger("password-save");
-    ok(notif, "checking for notification popup");
-    notif.remove();
-  });
-
-  is(Services.logins.getAllLogins().length, 0, "Should not have any logins yet");
-});
-
-add_task(function* test_autocompleteOffPassword() {
-  info("Check for notification popup when autocomplete=off present on password");
-
-  yield testSubmittingLoginForm("subtst_notifications_3.html", function*(fieldValues) {
-    is(fieldValues.username, "notifyu1", "Checking submitted username");
-    is(fieldValues.password, "notifyp1", "Checking submitted password");
-    let notif = getCaptureDoorhanger("password-save");
-    ok(notif, "checking for notification popup");
-    notif.remove();
-  });
-
-  is(Services.logins.getAllLogins().length, 0, "Should not have any logins yet");
-});
-
-add_task(function* test_autocompleteOffForm() {
-  info("Check for notification popup when autocomplete=off present on form");
-
-  yield testSubmittingLoginForm("subtst_notifications_4.html", function*(fieldValues) {
-    is(fieldValues.username, "notifyu1", "Checking submitted username");
-    is(fieldValues.password, "notifyp1", "Checking submitted password");
-    let notif = getCaptureDoorhanger("password-save");
-    ok(notif, "checking for notification popup");
-    notif.remove();
-  });
-
-  is(Services.logins.getAllLogins().length, 0, "Should not have any logins yet");
-});
-
-
-add_task(function* test_noPasswordField() {
-  info("Check for no notification popup when no password field present");
-
-  yield testSubmittingLoginForm("subtst_notifications_5.html", function*(fieldValues) {
-    is(fieldValues.username, "notifyu1", "Checking submitted username");
-    is(fieldValues.password, "null", "Checking submitted password");
-    let notif = getCaptureDoorhanger("password-save");
-    ok(!notif, "checking for no notification popup");
-  });
-
-  is(Services.logins.getAllLogins().length, 0, "Should not have any logins yet");
-});
-
-add_task(function* test_pwOnlyLoginMatchesForm() {
-  info("Check for update popup when existing pw-only login matches form.");
-  Services.logins.addLogin(login2);
-
-  yield testSubmittingLoginForm("subtst_notifications_1.html", function*(fieldValues) {
-    is(fieldValues.username, "notifyu1", "Checking submitted username");
-    is(fieldValues.password, "notifyp1", "Checking submitted password");
-    let notif = getCaptureDoorhanger("password-change");
-    ok(notif, "checking for notification popup");
-    notif.remove();
-  });
-
-  let logins = Services.logins.getAllLogins();
-  is(logins.length, 1, "Should only have 1 login");
-  let login = logins[0].QueryInterface(Ci.nsILoginMetaInfo);
-  is(login.username, "", "Check the username");
-  is(login.password, "notifyp1", "Check the password");
-  is(login.timesUsed, 1, "Check times used");
-
-  Services.logins.removeLogin(login2);
-});
-
-add_task(function* test_pwOnlyFormMatchesLogin() {
-  info("Check for no notification popup when pw-only form matches existing login.");
-  Services.logins.addLogin(login1);
-
-  yield testSubmittingLoginForm("subtst_notifications_6.html", function*(fieldValues) {
-    is(fieldValues.username, "null", "Checking submitted username");
-    is(fieldValues.password, "notifyp1", "Checking submitted password");
-    let notif = getCaptureDoorhanger("password-save");
-    ok(!notif, "checking for no notification popup");
-  });
-
-  let logins = Services.logins.getAllLogins();
-  is(logins.length, 1, "Should only have 1 login");
-  let login = logins[0].QueryInterface(Ci.nsILoginMetaInfo);
-  is(login.username, "notifyu1", "Check the username");
-  is(login.password, "notifyp1", "Check the password");
-  is(login.timesUsed, 2, "Check times used");
-
-  Services.logins.removeLogin(login1);
-});
-
-add_task(function* test_pwOnlyFormDoesntMatchExisting() {
-  info("Check for notification popup when pw-only form doesn't match existing login.");
-  Services.logins.addLogin(login1B);
-
-  yield testSubmittingLoginForm("subtst_notifications_6.html", function*(fieldValues) {
-    is(fieldValues.username, "null", "Checking submitted username");
-    is(fieldValues.password, "notifyp1", "Checking submitted password");
-    let notif = getCaptureDoorhanger("password-save");
-    ok(notif, "got notification popup");
-    notif.remove();
-  });
-
-  let logins = Services.logins.getAllLogins();
-  is(logins.length, 1, "Should only have 1 login");
-  let login = logins[0].QueryInterface(Ci.nsILoginMetaInfo);
-  is(login.username, "notifyu1B", "Check the username unchanged");
-  is(login.password, "notifyp1B", "Check the password unchanged");
-  is(login.timesUsed, 1, "Check times used");
-
-  Services.logins.removeLogin(login1B);
-});
-
-add_task(function* test_changeUPLoginOnUPForm_dont() {
-  info("Check for change-password popup, u+p login on u+p form. (not changed)");
-  Services.logins.addLogin(login1);
-
-  yield testSubmittingLoginForm("subtst_notifications_8.html", function*(fieldValues) {
-    is(fieldValues.username, "notifyu1", "Checking submitted username");
-    is(fieldValues.password, "pass2", "Checking submitted password");
-    let notif = getCaptureDoorhanger("password-change");
-    ok(notif, "got notification popup");
-
-    yield* checkDoorhangerUsernamePassword("notifyu1", "pass2");
-    clickDoorhangerButton(notif, DONT_CHANGE_BUTTON);
-  });
-
-  let logins = Services.logins.getAllLogins();
-  is(logins.length, 1, "Should only have 1 login");
-  let login = logins[0].QueryInterface(Ci.nsILoginMetaInfo);
-  is(login.username, "notifyu1", "Check the username unchanged");
-  is(login.password, "notifyp1", "Check the password unchanged");
-  is(login.timesUsed, 1, "Check times used");
-
-  Services.logins.removeLogin(login1);
-});
-
-add_task(function* test_changeUPLoginOnUPForm_change() {
-  info("Check for change-password popup, u+p login on u+p form.");
-  Services.logins.addLogin(login1);
-
-  yield testSubmittingLoginForm("subtst_notifications_8.html", function*(fieldValues) {
-    is(fieldValues.username, "notifyu1", "Checking submitted username");
-    is(fieldValues.password, "pass2", "Checking submitted password");
-    let notif = getCaptureDoorhanger("password-change");
-    ok(notif, "got notification popup");
-
-    yield* checkDoorhangerUsernamePassword("notifyu1", "pass2");
-    clickDoorhangerButton(notif, CHANGE_BUTTON);
-
-    ok(!getCaptureDoorhanger("password-change"), "popup should be gone");
-  });
-
-  let logins = Services.logins.getAllLogins();
-  is(logins.length, 1, "Should only have 1 login");
-  let login = logins[0].QueryInterface(Ci.nsILoginMetaInfo);
-  is(login.username, "notifyu1", "Check the username unchanged");
-  is(login.password, "pass2", "Check the password changed");
-  is(login.timesUsed, 2, "Check times used");
-
-  checkOnlyLoginWasUsedTwice({ justChanged: true });
-
-  // cleanup
-  login1.password = "pass2";
-  Services.logins.removeLogin(login1);
-  login1.password = "notifyp1";
-});
-
-add_task(function* test_changePLoginOnUPForm() {
-  info("Check for change-password popup, p-only login on u+p form.");
-  Services.logins.addLogin(login2);
-
-  yield testSubmittingLoginForm("subtst_notifications_9.html", function*(fieldValues) {
-    is(fieldValues.username, "", "Checking submitted username");
-    is(fieldValues.password, "pass2", "Checking submitted password");
-    let notif = getCaptureDoorhanger("password-change");
-    ok(notif, "got notification popup");
-
-    yield* checkDoorhangerUsernamePassword("", "pass2");
-    clickDoorhangerButton(notif, CHANGE_BUTTON);
-
-    ok(!getCaptureDoorhanger("password-change"), "popup should be gone");
-  });
-
-  let logins = Services.logins.getAllLogins();
-  is(logins.length, 1, "Should only have 1 login");
-  let login = logins[0].QueryInterface(Ci.nsILoginMetaInfo);
-  is(login.username, "", "Check the username unchanged");
-  is(login.password, "pass2", "Check the password changed");
-  is(login.timesUsed, 2, "Check times used");
-
-  // no cleanup -- saved password to be used in the next test.
-});
-
-add_task(function* test_changePLoginOnPForm() {
-  info("Check for change-password popup, p-only login on p-only form.");
-
-  yield testSubmittingLoginForm("subtst_notifications_10.html", function*(fieldValues) {
-    is(fieldValues.username, "null", "Checking submitted username");
-    is(fieldValues.password, "notifyp1", "Checking submitted password");
-    let notif = getCaptureDoorhanger("password-change");
-    ok(notif, "got notification popup");
-
-    yield* checkDoorhangerUsernamePassword("", "notifyp1");
-    clickDoorhangerButton(notif, CHANGE_BUTTON);
-
-    ok(!getCaptureDoorhanger("password-change"), "popup should be gone");
-  });
-
-  let logins = Services.logins.getAllLogins();
-  is(logins.length, 1, "Should only have 1 login");
-  let login = logins[0].QueryInterface(Ci.nsILoginMetaInfo);
-  is(login.username, "", "Check the username unchanged");
-  is(login.password, "notifyp1", "Check the password changed");
-  is(login.timesUsed, 3, "Check times used");
-
-  Services.logins.removeLogin(login2);
-});
-
-add_task(function* test_checkUPSaveText() {
-  info("Check text on a user+pass notification popup");
-
-  yield testSubmittingLoginForm("subtst_notifications_1.html", function*(fieldValues) {
-    is(fieldValues.username, "notifyu1", "Checking submitted username");
-    is(fieldValues.password, "notifyp1", "Checking submitted password");
-    let notif = getCaptureDoorhanger("password-save");
-    ok(notif, "got notification popup");
-    // Check the text, which comes from the localized saveLoginMsg string.
-    let notificationText = notif.message;
-    let expectedText = "Would you like " + BRAND_SHORT_NAME + " to save this login for example.com?";
-    is(expectedText, notificationText, "Checking text: " + notificationText);
-    notif.remove();
-  });
-
-  is(Services.logins.getAllLogins().length, 0, "Should not have any logins yet");
-});
-
-add_task(function* test_checkPSaveText() {
-  info("Check text on a pass-only notification popup");
-
-  yield testSubmittingLoginForm("subtst_notifications_6.html", function*(fieldValues) {
-    is(fieldValues.username, "null", "Checking submitted username");
-    is(fieldValues.password, "notifyp1", "Checking submitted password");
-    let notif = getCaptureDoorhanger("password-save");
-    ok(notif, "got notification popup");
-    // Check the text, which comes from the localized saveLoginMsgNoUser string.
-    let notificationText = notif.message;
-    let expectedText = "Would you like " + BRAND_SHORT_NAME + " to save this password for example.com?";
-    is(expectedText, notificationText, "Checking text: " + notificationText);
-    notif.remove();
-  });
-
-  is(Services.logins.getAllLogins().length, 0, "Should not have any logins yet");
-});
-
-add_task(function* test_capture2pw0un() {
-  info("Check for notification popup when a form with 2 password fields (no username) " +
-       "is submitted and there are no saved logins.");
-
-  yield testSubmittingLoginForm("subtst_notifications_2pw_0un.html", function*(fieldValues) {
-    is(fieldValues.username, "null", "Checking submitted username");
-    is(fieldValues.password, "notifyp1", "Checking submitted password");
-    let notif = getCaptureDoorhanger("password-save");
-    ok(notif, "got notification popup");
-    notif.remove();
-  });
-
-  is(Services.logins.getAllLogins().length, 0, "Should not have any logins yet");
-});
-
-add_task(function* test_change2pw0unExistingDifferentUP() {
-  info("Check for notification popup when a form with 2 password fields (no username) " +
-       "is submitted and there is a saved login with a username and different password.");
-
-  Services.logins.addLogin(login1B);
-
-  yield testSubmittingLoginForm("subtst_notifications_2pw_0un.html", function*(fieldValues) {
-    is(fieldValues.username, "null", "Checking submitted username");
-    is(fieldValues.password, "notifyp1", "Checking submitted password");
-    let notif = getCaptureDoorhanger("password-change");
-    ok(notif, "got notification popup");
-    notif.remove();
-  });
-
-  let logins = Services.logins.getAllLogins();
-  is(logins.length, 1, "Should only have 1 login");
-  let login = logins[0].QueryInterface(Ci.nsILoginMetaInfo);
-  is(login.username, "notifyu1B", "Check the username unchanged");
-  is(login.password, "notifyp1B", "Check the password unchanged");
-  is(login.timesUsed, 1, "Check times used");
-
-  Services.logins.removeLogin(login1B);
-});
-
-add_task(function* test_change2pw0unExistingDifferentP() {
-  info("Check for notification popup when a form with 2 password fields (no username) " +
-       "is submitted and there is a saved login with no username and different password.");
-
-  Services.logins.addLogin(login2B);
-
-  yield testSubmittingLoginForm("subtst_notifications_2pw_0un.html", function*(fieldValues) {
-    is(fieldValues.username, "null", "Checking submitted username");
-    is(fieldValues.password, "notifyp1", "Checking submitted password");
-    let notif = getCaptureDoorhanger("password-change");
-    ok(notif, "got notification popup");
-    notif.remove();
-  });
-
-  let logins = Services.logins.getAllLogins();
-  is(logins.length, 1, "Should only have 1 login");
-  let login = logins[0].QueryInterface(Ci.nsILoginMetaInfo);
-  is(login.username, "", "Check the username unchanged");
-  is(login.password, "notifyp1B", "Check the password unchanged");
-  is(login.timesUsed, 1, "Check times used");
-
-  Services.logins.removeLogin(login2B);
-});
-
-add_task(function* test_change2pw0unExistingWithSameP() {
-  info("Check for no notification popup when a form with 2 password fields (no username) " +
-       "is submitted and there is a saved login with a username and the same password.");
-
-  Services.logins.addLogin(login2);
-
-  yield testSubmittingLoginForm("subtst_notifications_2pw_0un.html", function*(fieldValues) {
-    is(fieldValues.username, "null", "Checking submitted username");
-    is(fieldValues.password, "notifyp1", "Checking submitted password");
-    let notif = getCaptureDoorhanger("password-change");
-    ok(!notif, "checking for no notification popup");
-  });
-
-  let logins = Services.logins.getAllLogins();
-  is(logins.length, 1, "Should only have 1 login");
-  let login = logins[0].QueryInterface(Ci.nsILoginMetaInfo);
-  is(login.username, "", "Check the username unchanged");
-  is(login.password, "notifyp1", "Check the password unchanged");
-  is(login.timesUsed, 2, "Check times used incremented");
-
-  checkOnlyLoginWasUsedTwice({ justChanged: false });
-
-  Services.logins.removeLogin(login2);
-});
-
-add_task(function* test_changeUPLoginOnPUpdateForm() {
-  info("Check for change-password popup, u+p login on password update form.");
-  Services.logins.addLogin(login1);
-
-  yield testSubmittingLoginForm("subtst_notifications_change_p.html", function*(fieldValues) {
-    is(fieldValues.username, "null", "Checking submitted username");
-    is(fieldValues.password, "pass2", "Checking submitted password");
-    let notif = getCaptureDoorhanger("password-change");
-    ok(notif, "got notification popup");
-
-    yield* checkDoorhangerUsernamePassword("notifyu1", "pass2");
-    clickDoorhangerButton(notif, CHANGE_BUTTON);
-
-    ok(!getCaptureDoorhanger("password-change"), "popup should be gone");
-  });
-
-  let logins = Services.logins.getAllLogins();
-  is(logins.length, 1, "Should only have 1 login");
-  let login = logins[0].QueryInterface(Ci.nsILoginMetaInfo);
-  is(login.username, "notifyu1", "Check the username unchanged");
-  is(login.password, "pass2", "Check the password changed");
-  is(login.timesUsed, 2, "Check times used");
-
-  checkOnlyLoginWasUsedTwice({ justChanged: true });
-
-  // cleanup
-  login1.password = "pass2";
-  Services.logins.removeLogin(login1);
-  login1.password = "notifyp1";
-});
-
-add_task(function* test_recipeCaptureFields_NewLogin() {
-  info("Check that we capture the proper fields when a field recipe is in use.");
-
-  yield testSubmittingLoginForm("subtst_notifications_2pw_1un_1text.html", function*(fieldValues) {
-    is(fieldValues.username, "notifyu1", "Checking submitted username");
-    is(fieldValues.password, "notifyp1", "Checking submitted password");
-    let notif = getCaptureDoorhanger("password-save");
-    ok(notif, "got notification popup");
-
-    // Sanity check, no logins should exist yet.
-    let logins = Services.logins.getAllLogins();
-    is(logins.length, 0, "Should not have any logins yet");
-
-    yield* checkDoorhangerUsernamePassword("notifyu1", "notifyp1");
-    clickDoorhangerButton(notif, REMEMBER_BUTTON);
-
-  }, "http://example.org"); // The recipe is for example.org
-
-  let logins = Services.logins.getAllLogins();
-  is(logins.length, 1, "Should only have 1 login");
-  let login = logins[0].QueryInterface(Ci.nsILoginMetaInfo);
-  is(login.username, "notifyu1", "Check the username unchanged");
-  is(login.password, "notifyp1", "Check the password unchanged");
-  is(login.timesUsed, 1, "Check times used");
-});
-
-add_task(function* test_recipeCaptureFields_ExistingLogin() {
-  info("Check that we capture the proper fields when a field recipe is in use " +
-       "and there is a matching login");
-
-  yield testSubmittingLoginForm("subtst_notifications_2pw_1un_1text.html", function*(fieldValues) {
-    is(fieldValues.username, "notifyu1", "Checking submitted username");
-    is(fieldValues.password, "notifyp1", "Checking submitted password");
-    let notif = getCaptureDoorhanger("password-save");
-    ok(!notif, "checking for no notification popup");
-  }, "http://example.org");
-
-  checkOnlyLoginWasUsedTwice({ justChanged: false });
-  let logins = Services.logins.getAllLogins();
-  is(logins.length, 1, "Should only have 1 login");
-  let login = logins[0].QueryInterface(Ci.nsILoginMetaInfo);
-  is(login.username, "notifyu1", "Check the username unchanged");
-  is(login.password, "notifyp1", "Check the password unchanged");
-  is(login.timesUsed, 2, "Check times used incremented");
-
-  Services.logins.removeAllLogins();
-});
-
-add_task(function* test_noShowPasswordOnDismissal() {
-  info("Check for no Show Password field when the doorhanger is dismissed");
-
-  yield testSubmittingLoginForm("subtst_notifications_1.html", function*(fieldValues) {
-    info("Opening popup");
-    let notif = getCaptureDoorhanger("password-save");
-    let { panel } = PopupNotifications;
-
-    info("Hiding popup.");
-    let promiseHidden = BrowserTestUtils.waitForEvent(panel, "popuphidden");
-    panel.hidePopup();
-    yield promiseHidden;
-
-    info("Clicking on anchor to reshow popup.");
-    let promiseShown = BrowserTestUtils.waitForEvent(panel, "popupshown");
-    notif.anchorElement.click();
-    yield promiseShown;
-
-    let passwordVisiblityToggle = panel.querySelector("#password-notification-visibilityToggle");
-    is(passwordVisiblityToggle.hidden, true, "Check that the Show Password field is Hidden");
-  });
-});
 
 add_task(function* test_httpsUpgradeCaptureFields_noChange() {
   info("Check that we don't prompt to remember when capturing an upgraded login with no change");
   Services.logins.addLogin(login1);
   // Sanity check the HTTP login exists.
   let logins = Services.logins.getAllLogins();
   is(logins.length, 1, "Should have the HTTP login");
 
@@ -705,12 +116,8 @@ add_task(function* test_httpsUpgradeCapt
   is(httpLogins.length, 1, "Check http logins count");
   let httpLogin = httpLogins[0].QueryInterface(Ci.nsILoginMetaInfo);
   ok(httpLogin.equals(login1), "Check HTTP login is as expected");
   is(httpLogin.timesUsed, 2, "Check times used increased");
 
   Services.logins.removeLogin(login1);
   Services.logins.removeLogin(login1HTTPS);
 });
-
-
-// TODO:
-// * existing login test, form has different password --> change password, no save prompt