Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(369)

Unified Diff: components/password_manager/core/browser/password_manager_unittest.cc

Issue 190453002: Componentize PasswordManager and PasswordFormManager unittests. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « components/password_manager/core/browser/password_form_manager_unittest.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/password_manager/core/browser/password_manager_unittest.cc
diff --git a/chrome/browser/password_manager/password_manager_unittest.cc b/components/password_manager/core/browser/password_manager_unittest.cc
similarity index 88%
rename from chrome/browser/password_manager/password_manager_unittest.cc
rename to components/password_manager/core/browser/password_manager_unittest.cc
index a6ba43bc053e5afb43f642e4f2eecf23e6ded57d..ac09f2a7e7af8fe13db57d140a6bfcfbcf496942 100644
--- a/chrome/browser/password_manager/password_manager_unittest.cc
+++ b/components/password_manager/core/browser/password_manager_unittest.cc
@@ -5,12 +5,11 @@
#include <vector>
#include "base/message_loop/message_loop.h"
+#include "base/prefs/pref_registry_simple.h"
+#include "base/prefs/pref_service.h"
+#include "base/prefs/testing_pref_service.h"
#include "base/strings/string_util.h"
#include "base/strings/utf_string_conversions.h"
-#include "chrome/common/url_constants.h"
-#include "chrome/test/base/chrome_render_view_host_test_harness.h"
-#include "chrome/test/base/testing_pref_service_syncable.h"
-#include "chrome/test/base/testing_profile.h"
#include "components/password_manager/core/browser/mock_password_store.h"
#include "components/password_manager/core/browser/password_manager.h"
#include "components/password_manager/core/browser/password_manager_client.h"
@@ -40,7 +39,6 @@ namespace {
class MockPasswordManagerClient : public PasswordManagerClient {
public:
MOCK_METHOD1(PromptUserToSavePassword, void(PasswordFormManager*));
- MOCK_METHOD0(GetProfile, Profile*());
MOCK_METHOD0(GetPasswordStore, PasswordStore*());
MOCK_METHOD0(GetPrefs, PrefService*());
MOCK_METHOD0(GetDriver, PasswordManagerDriver*());
@@ -70,13 +68,9 @@ class MockPasswordManagerDriver : public PasswordManagerDriver {
void(const std::vector<autofill::FormData>&));
};
-ACTION_P(InvokeConsumer, forms) {
- arg0->OnGetPasswordStoreResults(forms);
-}
+ACTION_P(InvokeConsumer, forms) { arg0->OnGetPasswordStoreResults(forms); }
-ACTION_P(SaveToScopedPtr, scoped) {
- scoped->reset(arg0);
-}
+ACTION_P(SaveToScopedPtr, scoped) { scoped->reset(arg0); }
class TestPasswordManager : public PasswordManager {
public:
@@ -94,16 +88,17 @@ class TestPasswordManager : public PasswordManager {
} // namespace
-class PasswordManagerTest : public ChromeRenderViewHostTestHarness {
+class PasswordManagerTest : public testing::Test {
protected:
virtual void SetUp() {
- ChromeRenderViewHostTestHarness::SetUp();
+ prefs_.registry()->RegisterBooleanPref(prefs::kPasswordManagerEnabled,
+ true);
+
store_ = new MockPasswordStore;
CHECK(store_->Init());
EXPECT_CALL(client_, GetPasswordStore()).WillRepeatedly(Return(store_));
- EXPECT_CALL(client_, GetPrefs())
- .WillRepeatedly(Return(profile()->GetTestingPrefService()));
+ EXPECT_CALL(client_, GetPrefs()).WillRepeatedly(Return(&prefs_));
EXPECT_CALL(client_, GetDriver()).WillRepeatedly(Return(&driver_));
manager_.reset(new TestPasswordManager(&client_));
@@ -123,11 +118,6 @@ class PasswordManagerTest : public ChromeRenderViewHostTestHarness {
virtual void TearDown() {
store_->Shutdown();
store_ = NULL;
-
- // Destroy the PasswordManager before tearing down the Profile to avoid
- // crashes due to prefs accesses.
- manager_.reset();
- ChromeRenderViewHostTestHarness::TearDown();
}
PasswordForm MakeSimpleForm() {
@@ -163,8 +153,7 @@ class PasswordManagerTest : public ChromeRenderViewHostTestHarness {
// Reproduction of the form present on twitter's failed login page.
PasswordForm MakeTwitterFailedLoginForm() {
PasswordForm form;
- form.origin =
- GURL("https://twitter.com/login/error?redirect_after_login");
+ form.origin = GURL("https://twitter.com/login/error?redirect_after_login");
form.action = GURL("https://twitter.com/sessions");
form.username_element = ASCIIToUTF16("EmailField");
form.password_element = ASCIIToUTF16("PasswdField");
@@ -214,6 +203,7 @@ class PasswordManagerTest : public ChromeRenderViewHostTestHarness {
submitted_form_ = form;
}
+ TestingPrefServiceSimple prefs_;
scoped_refptr<MockPasswordStore> store_;
MockPasswordManagerClient client_;
MockPasswordManagerDriver driver_;
@@ -222,13 +212,11 @@ class PasswordManagerTest : public ChromeRenderViewHostTestHarness {
};
MATCHER_P(FormMatches, form, "") {
- return form.signon_realm == arg.signon_realm &&
- form.origin == arg.origin &&
+ return form.signon_realm == arg.signon_realm && form.origin == arg.origin &&
form.action == arg.action &&
form.username_element == arg.username_element &&
form.password_element == arg.password_element &&
- form.password_autocomplete_set ==
- arg.password_autocomplete_set &&
+ form.password_autocomplete_set == arg.password_autocomplete_set &&
form.submit_element == arg.submit_element;
}
@@ -241,7 +229,7 @@ TEST_F(PasswordManagerTest, FormSubmitEmptyStore) {
std::vector<PasswordForm> observed;
PasswordForm form(MakeSimpleForm());
observed.push_back(form);
- manager()->OnPasswordFormsParsed(observed); // The initial load.
+ manager()->OnPasswordFormsParsed(observed); // The initial load.
manager()->OnPasswordFormsRendered(observed); // The initial layout.
// And the form submit contract is to call ProvisionallySavePassword.
@@ -253,7 +241,7 @@ TEST_F(PasswordManagerTest, FormSubmitEmptyStore) {
// Now the password manager waits for the navigation to complete.
observed.clear();
- manager()->OnPasswordFormsParsed(observed); // The post-navigation load.
+ manager()->OnPasswordFormsParsed(observed); // The post-navigation load.
manager()->OnPasswordFormsRendered(observed); // The post-navigation layout.
ASSERT_TRUE(form_to_save.get());
@@ -273,7 +261,7 @@ TEST_F(PasswordManagerTest, GeneratedPasswordFormSubmitEmptyStore) {
std::vector<PasswordForm> observed;
PasswordForm form(MakeSimpleForm());
observed.push_back(form);
- manager()->OnPasswordFormsParsed(observed); // The initial load.
+ manager()->OnPasswordFormsParsed(observed); // The initial load.
manager()->OnPasswordFormsRendered(observed); // The initial layout.
// Simulate the user generating the password and submitting the form.
@@ -288,7 +276,7 @@ TEST_F(PasswordManagerTest, GeneratedPasswordFormSubmitEmptyStore) {
// Now the password manager waits for the navigation to complete.
observed.clear();
- manager()->OnPasswordFormsParsed(observed); // The post-navigation load.
+ manager()->OnPasswordFormsParsed(observed); // The post-navigation load.
manager()->OnPasswordFormsRendered(observed); // The post-navigation layout.
}
@@ -307,7 +295,7 @@ TEST_F(PasswordManagerTest, FormSubmitNoGoodMatch) {
std::vector<PasswordForm> observed;
PasswordForm form(MakeSimpleForm());
observed.push_back(form);
- manager()->OnPasswordFormsParsed(observed); // The initial load.
+ manager()->OnPasswordFormsParsed(observed); // The initial load.
manager()->OnPasswordFormsRendered(observed); // The initial layout.
manager()->ProvisionallySavePassword(form);
@@ -318,7 +306,7 @@ TEST_F(PasswordManagerTest, FormSubmitNoGoodMatch) {
// Now the password manager waits for the navigation to complete.
observed.clear();
- manager()->OnPasswordFormsParsed(observed); // The post-navigation load.
+ manager()->OnPasswordFormsParsed(observed); // The post-navigation load.
manager()->OnPasswordFormsRendered(observed); // The post-navigation layout.
ASSERT_TRUE(form_to_save.get());
@@ -336,14 +324,14 @@ TEST_F(PasswordManagerTest, FormSeenThenLeftPage) {
std::vector<PasswordForm> observed;
PasswordForm form(MakeSimpleForm());
observed.push_back(form);
- manager()->OnPasswordFormsParsed(observed); // The initial load.
+ manager()->OnPasswordFormsParsed(observed); // The initial load.
manager()->OnPasswordFormsRendered(observed); // The initial layout.
// No message from the renderer that a password was submitted. No
// expected calls.
EXPECT_CALL(client_, PromptUserToSavePassword(_)).Times(0);
observed.clear();
- manager()->OnPasswordFormsParsed(observed); // The post-navigation load.
+ manager()->OnPasswordFormsParsed(observed); // The post-navigation load.
manager()->OnPasswordFormsRendered(observed); // The post-navigation layout.
}
@@ -357,7 +345,7 @@ TEST_F(PasswordManagerTest, FormSubmitAfterNavigateInPage) {
std::vector<PasswordForm> observed;
PasswordForm form(MakeSimpleForm());
observed.push_back(form);
- manager()->OnPasswordFormsParsed(observed); // The initial load.
+ manager()->OnPasswordFormsParsed(observed); // The initial load.
manager()->OnPasswordFormsRendered(observed); // The initial layout.
// Simulate navigating in the page.
@@ -372,7 +360,7 @@ TEST_F(PasswordManagerTest, FormSubmitAfterNavigateInPage) {
.WillOnce(WithArg<0>(SaveToScopedPtr(&form_to_save)));
observed.clear();
- manager()->OnPasswordFormsParsed(observed); // The post-navigation load.
+ manager()->OnPasswordFormsParsed(observed); // The post-navigation load.
manager()->OnPasswordFormsRendered(observed); // The post-navigation layout.
ASSERT_FALSE(NULL == form_to_save.get());
@@ -440,7 +428,7 @@ TEST_F(PasswordManagerTest, FormSubmitFailedLogin) {
std::vector<PasswordForm> observed;
PasswordForm form(MakeSimpleForm());
observed.push_back(form);
- manager()->OnPasswordFormsParsed(observed); // The initial load.
+ manager()->OnPasswordFormsParsed(observed); // The initial load.
manager()->OnPasswordFormsRendered(observed); // The initial layout.
manager()->ProvisionallySavePassword(form);
@@ -461,7 +449,7 @@ TEST_F(PasswordManagerTest, FormSubmitInvisibleLogin) {
std::vector<PasswordForm> observed;
PasswordForm form(MakeSimpleForm());
observed.push_back(form);
- manager()->OnPasswordFormsParsed(observed); // The initial load.
+ manager()->OnPasswordFormsParsed(observed); // The initial load.
manager()->OnPasswordFormsRendered(observed); // The initial layout.
manager()->ProvisionallySavePassword(form);
@@ -498,19 +486,18 @@ TEST_F(PasswordManagerTest, InitiallyInvisibleForm) {
observed.clear();
manager()->OnPasswordFormsRendered(observed); // The initial layout.
- manager()->OnPasswordFormsParsed(observed); // The post-navigation load.
+ manager()->OnPasswordFormsParsed(observed); // The post-navigation load.
manager()->OnPasswordFormsRendered(observed); // The post-navigation layout.
}
TEST_F(PasswordManagerTest, SavingDependsOnManagerEnabledPreference) {
// Test that saving passwords depends on the password manager enabled
// preference.
- TestingPrefServiceSyncable* prefService = profile()->GetTestingPrefService();
- prefService->SetUserPref(prefs::kPasswordManagerEnabled,
- base::Value::CreateBooleanValue(true));
+ prefs_.SetUserPref(prefs::kPasswordManagerEnabled,
+ base::Value::CreateBooleanValue(true));
EXPECT_TRUE(manager()->IsSavingEnabled());
- prefService->SetUserPref(prefs::kPasswordManagerEnabled,
- base::Value::CreateBooleanValue(false));
+ prefs_.SetUserPref(prefs::kPasswordManagerEnabled,
+ base::Value::CreateBooleanValue(false));
EXPECT_FALSE(manager()->IsSavingEnabled());
}
@@ -520,9 +507,8 @@ TEST_F(PasswordManagerTest, FillPasswordsOnDisabledManager) {
std::vector<PasswordForm*> result;
PasswordForm* existing = new PasswordForm(MakeSimpleForm());
result.push_back(existing);
- TestingPrefServiceSyncable* prefService = profile()->GetTestingPrefService();
- prefService->SetUserPref(prefs::kPasswordManagerEnabled,
- base::Value::CreateBooleanValue(false));
+ prefs_.SetUserPref(prefs::kPasswordManagerEnabled,
+ base::Value::CreateBooleanValue(false));
EXPECT_CALL(driver_, FillPasswordForm(_));
EXPECT_CALL(*store_.get(),
GetLogins(_, testing::Eq(PasswordStore::DISALLOW_PROMPT), _))
@@ -544,7 +530,7 @@ TEST_F(PasswordManagerTest, FormSavedWithAutocompleteOff) {
PasswordForm form(MakeSimpleForm());
form.password_autocomplete_set = false;
observed.push_back(form);
- manager()->OnPasswordFormsParsed(observed); // The initial load.
+ manager()->OnPasswordFormsParsed(observed); // The initial load.
manager()->OnPasswordFormsRendered(observed); // The initial layout.
// And the form submit contract is to call ProvisionallySavePassword.
@@ -558,7 +544,7 @@ TEST_F(PasswordManagerTest, FormSavedWithAutocompleteOff) {
// Now the password manager waits for the navigation to complete.
observed.clear();
- manager()->OnPasswordFormsParsed(observed); // The post-navigation load.
+ manager()->OnPasswordFormsParsed(observed); // The post-navigation load.
manager()->OnPasswordFormsRendered(observed); // The post-navigation layout.
ASSERT_TRUE(form_to_save.get());
@@ -575,7 +561,7 @@ TEST_F(PasswordManagerTest, GeneratedPasswordFormSavedAutocompleteOff) {
PasswordForm form(MakeSimpleForm());
form.password_autocomplete_set = false;
observed.push_back(form);
- manager()->OnPasswordFormsParsed(observed); // The initial load.
+ manager()->OnPasswordFormsParsed(observed); // The initial load.
manager()->OnPasswordFormsRendered(observed); // The initial layout.
// Simulate the user generating the password and submitting the form.
@@ -590,7 +576,7 @@ TEST_F(PasswordManagerTest, GeneratedPasswordFormSavedAutocompleteOff) {
// Now the password manager waits for the navigation to complete.
observed.clear();
- manager()->OnPasswordFormsParsed(observed); // The post-navigation load.
+ manager()->OnPasswordFormsParsed(observed); // The post-navigation load.
manager()->OnPasswordFormsRendered(observed); // The post-navigation layout.
}
@@ -613,7 +599,7 @@ TEST_F(PasswordManagerTest, PasswordFormReappearance) {
std::vector<PasswordForm> observed;
PasswordForm login_form(MakeTwitterLoginForm());
observed.push_back(login_form);
- manager()->OnPasswordFormsParsed(observed); // The initial load.
+ manager()->OnPasswordFormsParsed(observed); // The initial load.
manager()->OnPasswordFormsRendered(observed); // The initial layout.
manager()->ProvisionallySavePassword(login_form);
« no previous file with comments | « components/password_manager/core/browser/password_form_manager_unittest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698