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

Unified Diff: chrome/browser/autofill/autofill_manager_unittest.cc

Issue 10222017: Make password generation switched by a preference in chrome settings rather than a command line fla… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 8 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
Index: chrome/browser/autofill/autofill_manager_unittest.cc
diff --git a/chrome/browser/autofill/autofill_manager_unittest.cc b/chrome/browser/autofill/autofill_manager_unittest.cc
index 8962b2d7a47baf5850d117feef2960496661b7f3..d91922f61cb844a9ab766ba4ab40e447baa7c6af 100644
--- a/chrome/browser/autofill/autofill_manager_unittest.cc
+++ b/chrome/browser/autofill/autofill_manager_unittest.cc
@@ -488,17 +488,30 @@ class TestAutofillManager : public AutofillManager {
submitted_form_signature_ = submitted_form.FormSignature();
}
+ virtual void SendPasswordSyncStateToRenderer(
Garrett Casto 2012/04/26 23:23:59 Remove this.
+ content::RenderViewHost* host, bool enabled) OVERRIDE {
+ sent_sync_states_.push_back(enabled);
+ }
+
virtual void SendPasswordGenerationStateToRenderer(
content::RenderViewHost* host, bool enabled) OVERRIDE {
- sent_states_.push_back(enabled);
+ sent_enabled_states_.push_back(enabled);
+ }
+
+ const std::vector<bool>& GetSentSyncStates() {
+ return sent_sync_states_;
+ }
+
+ const std::vector<bool>& GetSentEnabledStates() {
+ return sent_enabled_states_;
}
- const std::vector<bool>& GetSentStates() {
- return sent_states_;
+ void ClearSentSyncStates() {
+ sent_sync_states_.clear();
}
- void ClearSentStates() {
- sent_states_.clear();
+ void ClearSentEnabledStates() {
+ sent_enabled_states_.clear();
}
const std::string GetSubmittedFormSignature() {
@@ -542,7 +555,8 @@ class TestAutofillManager : public AutofillManager {
std::string submitted_form_signature_;
std::vector<FieldTypeSet> expected_submitted_field_types_;
- std::vector<bool> sent_states_;
+ std::vector<bool> sent_sync_states_;
+ std::vector<bool> sent_enabled_states_;
DISALLOW_COPY_AND_ASSIGN(TestAutofillManager);
};
@@ -583,6 +597,10 @@ class AutofillManagerTest : public TabContentsWrapperTestHarness {
TabContentsWrapperTestHarness::TearDown();
}
+ void UpdatePasswordSyncState(bool new_renderer) {
+ autofill_manager_->UpdatePasswordSyncState(NULL, new_renderer);
+ }
+
void UpdatePasswordGenerationState(bool new_renderer) {
autofill_manager_->UpdatePasswordGenerationState(NULL, new_renderer);
}
@@ -2891,7 +2909,7 @@ TEST_F(AutofillManagerTest, DeterminePossibleFieldTypesForUpload) {
FormSubmitted(form);
}
-TEST_F(AutofillManagerTest, UpdatePasswordGenerationState) {
+TEST_F(AutofillManagerTest, UpdatePasswordSyncState) {
// Allow this test to control what should get synced.
profile()->GetPrefs()->SetBoolean(prefs::kSyncKeepEverythingSynced, false);
@@ -2904,45 +2922,77 @@ TEST_F(AutofillManagerTest, UpdatePasswordGenerationState) {
preferred_set.Put(syncable::PREFERENCES);
sync_service->ChangePreferredDataTypes(preferred_set);
syncable::ModelTypeSet new_set = sync_service->GetPreferredDataTypes();
- UpdatePasswordGenerationState(false);
- EXPECT_EQ(0u, autofill_manager_->GetSentStates().size());
+ UpdatePasswordSyncState(false);
+ EXPECT_EQ(0u, autofill_manager_->GetSentSyncStates().size());
// Now sync passwords.
preferred_set.Put(syncable::PASSWORDS);
sync_service->ChangePreferredDataTypes(preferred_set);
- UpdatePasswordGenerationState(false);
- EXPECT_EQ(1u, autofill_manager_->GetSentStates().size());
- EXPECT_TRUE(autofill_manager_->GetSentStates()[0]);
- autofill_manager_->ClearSentStates();
+ UpdatePasswordSyncState(false);
+ EXPECT_EQ(1u, autofill_manager_->GetSentSyncStates().size());
+ EXPECT_TRUE(autofill_manager_->GetSentSyncStates()[0]);
+ autofill_manager_->ClearSentSyncStates();
// Add some additional synced state. Nothing should be sent.
preferred_set.Put(syncable::THEMES);
sync_service->ChangePreferredDataTypes(preferred_set);
- UpdatePasswordGenerationState(false);
- EXPECT_EQ(0u, autofill_manager_->GetSentStates().size());
+ UpdatePasswordSyncState(false);
+ EXPECT_EQ(0u, autofill_manager_->GetSentSyncStates().size());
// Disable syncing. This should disable the feature.
sync_service->DisableForUser();
- UpdatePasswordGenerationState(false);
- EXPECT_EQ(1u, autofill_manager_->GetSentStates().size());
- EXPECT_FALSE(autofill_manager_->GetSentStates()[0]);
- autofill_manager_->ClearSentStates();
+ UpdatePasswordSyncState(false);
+ EXPECT_EQ(1u, autofill_manager_->GetSentSyncStates().size());
+ EXPECT_FALSE(autofill_manager_->GetSentSyncStates()[0]);
+ autofill_manager_->ClearSentSyncStates();
// Disable password manager by going incognito, and re-enable syncing. The
// feature should still be disabled, and nothing will be sent.
sync_service->SetSyncSetupCompleted();
profile()->set_incognito(true);
+ UpdatePasswordSyncState(false);
+ EXPECT_EQ(0u, autofill_manager_->GetSentSyncStates().size());
+
+ // When a new render_view is created, we send the state even if it's the
+ // same.
+ UpdatePasswordSyncState(true);
+ EXPECT_EQ(1u, autofill_manager_->GetSentSyncStates().size());
+ EXPECT_FALSE(autofill_manager_->GetSentSyncStates()[0]);
+ autofill_manager_->ClearSentSyncStates();
+}
+
+TEST_F(AutofillManagerTest, UpdatePasswordGenerationState) {
+ // Enabled state remains false, should not sent.
+ profile()->GetPrefs()->SetBoolean(prefs::kPasswordGenerationEnabled, false);
UpdatePasswordGenerationState(false);
- EXPECT_EQ(0u, autofill_manager_->GetSentStates().size());
+ EXPECT_EQ(0u, autofill_manager_->GetSentEnabledStates().size());
+
+ // Enabled state from false to true, should sent true.
+ profile()->GetPrefs()->SetBoolean(prefs::kPasswordGenerationEnabled, true);
+ UpdatePasswordGenerationState(false);
+ EXPECT_EQ(1u, autofill_manager_->GetSentEnabledStates().size());
+ EXPECT_TRUE(autofill_manager_->GetSentEnabledStates()[0]);
+ autofill_manager_->ClearSentEnabledStates();
+
+ // Enabled states remains true, should not sent.
+ profile()->GetPrefs()->SetBoolean(prefs::kPasswordGenerationEnabled, true);
+ UpdatePasswordGenerationState(false);
+ EXPECT_EQ(0u, autofill_manager_->GetSentEnabledStates().size());
+
+ // Enabled states from true to false, should sent false.
+ profile()->GetPrefs()->SetBoolean(prefs::kPasswordGenerationEnabled, false);
+ UpdatePasswordGenerationState(false);
+ EXPECT_EQ(1u, autofill_manager_->GetSentEnabledStates().size());
+ EXPECT_FALSE(autofill_manager_->GetSentEnabledStates()[0]);
+ autofill_manager_->ClearSentEnabledStates();
// When a new render_view is created, we send the state even if it's the
// same.
UpdatePasswordGenerationState(true);
- EXPECT_EQ(1u, autofill_manager_->GetSentStates().size());
- EXPECT_FALSE(autofill_manager_->GetSentStates()[0]);
- autofill_manager_->ClearSentStates();
+ EXPECT_EQ(1u, autofill_manager_->GetSentEnabledStates().size());
+ EXPECT_FALSE(autofill_manager_->GetSentEnabledStates()[0]);
+ autofill_manager_->ClearSentEnabledStates();
}
-
namespace {
class MockAutofillExternalDelegate : public TestAutofillExternalDelegate {

Powered by Google App Engine
This is Rietveld 408576698