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

Side by Side 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: Changes according to code reviews Created 8 years, 7 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <algorithm> 5 #include <algorithm>
6 #include <vector> 6 #include <vector>
7 7
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "base/memory/scoped_vector.h" 10 #include "base/memory/scoped_vector.h"
(...skipping 2903 matching lines...) Expand 10 before | Expand all | Expand 10 after
2914 autofill_test::CreateTestFormField("", "20", "901", "text", &field); 2914 autofill_test::CreateTestFormField("", "20", "901", "text", &field);
2915 types.clear(); 2915 types.clear();
2916 types.insert(UNKNOWN_TYPE); 2916 types.insert(UNKNOWN_TYPE);
2917 form.fields.push_back(field); 2917 form.fields.push_back(field);
2918 expected_types.push_back(types); 2918 expected_types.push_back(types);
2919 2919
2920 autofill_manager_->set_expected_submitted_field_types(expected_types); 2920 autofill_manager_->set_expected_submitted_field_types(expected_types);
2921 FormSubmitted(form); 2921 FormSubmitted(form);
2922 } 2922 }
2923 2923
2924 TEST_F(AutofillManagerTest, UpdatePasswordGenerationState) { 2924 TEST_F(AutofillManagerTest, RemoveProfile) {
2925 // Add and remove an Autofill profile.
2926 AutofillProfile* profile = new AutofillProfile;
2927 std::string guid = "00000000-0000-0000-0000-000000000102";
2928 profile->set_guid(guid.c_str());
2929 autofill_manager_->AddProfile(profile);
2930
2931 GUIDPair guid_pair(guid, 0);
2932 GUIDPair empty(std::string(), 0);
2933 int id = PackGUIDs(empty, guid_pair);
2934
2935 autofill_manager_->RemoveAutofillProfileOrCreditCard(id);
2936
2937 EXPECT_FALSE(autofill_manager_->GetProfileWithGUID(guid.c_str()));
2938 }
Ilya Sherman 2012/05/04 06:04:50 nit: Why is it helpful to move this test? Again,
zysxqn 2012/05/04 18:52:54 Done.
2939
2940 TEST_F(AutofillManagerTest, RemoveCreditCard){
2941 // Add and remove an Autofill credit card.
2942 CreditCard* credit_card = new CreditCard;
2943 std::string guid = "00000000-0000-0000-0000-000000100007";
2944 credit_card->set_guid(guid.c_str());
2945 autofill_manager_->AddCreditCard(credit_card);
2946
2947 GUIDPair guid_pair(guid, 0);
2948 GUIDPair empty(std::string(), 0);
2949 int id = PackGUIDs(guid_pair, empty);
2950
2951 autofill_manager_->RemoveAutofillProfileOrCreditCard(id);
2952
2953 EXPECT_FALSE(autofill_manager_->GetCreditCardWithGUID(guid.c_str()));
2954 }
2955
2956 TEST_F(AutofillManagerTest, RemoveProfileVariant) {
2957 // Add and remove an Autofill profile.
2958 AutofillProfile* profile = new AutofillProfile;
2959 std::string guid = "00000000-0000-0000-0000-000000000102";
2960 profile->set_guid(guid.c_str());
2961 autofill_manager_->AddProfile(profile);
2962
2963 GUIDPair guid_pair(guid, 1);
2964 GUIDPair empty(std::string(), 0);
2965 int id = PackGUIDs(empty, guid_pair);
2966
2967 autofill_manager_->RemoveAutofillProfileOrCreditCard(id);
2968
2969 // TODO(csharp): Currently variants should not be deleted, but once they are
2970 // update these expectations.
2971 // http://crbug.com/124211
2972 EXPECT_TRUE(autofill_manager_->GetProfileWithGUID(guid.c_str()));
2973 }
2974
2975 TEST_F(AutofillManagerTest, UpdatePasswordSyncState) {
2925 // Allow this test to control what should get synced. 2976 // Allow this test to control what should get synced.
2926 profile()->GetPrefs()->SetBoolean(prefs::kSyncKeepEverythingSynced, false); 2977 profile()->GetPrefs()->SetBoolean(prefs::kSyncKeepEverythingSynced, false);
2978 // Always set password generation enabled check box so we can test the
2979 // behavior of password sync.
2980 profile()->GetPrefs()->SetBoolean(prefs::kPasswordGenerationEnabled, true);
2927 2981
2928 // Sync some things, but not passwords. Shouldn't send anything since 2982 // Sync some things, but not passwords. Shouldn't send anything since
2929 // password generation is disabled by default. 2983 // password generation is disabled by default.
2930 ProfileSyncService* sync_service = GetProfileSyncService(); 2984 ProfileSyncService* sync_service = GetProfileSyncService();
2931 sync_service->SetSyncSetupCompleted(); 2985 sync_service->SetSyncSetupCompleted();
2932 syncable::ModelTypeSet preferred_set; 2986 syncable::ModelTypeSet preferred_set;
2933 preferred_set.Put(syncable::EXTENSIONS); 2987 preferred_set.Put(syncable::EXTENSIONS);
2934 preferred_set.Put(syncable::PREFERENCES); 2988 preferred_set.Put(syncable::PREFERENCES);
2935 sync_service->ChangePreferredDataTypes(preferred_set); 2989 sync_service->ChangePreferredDataTypes(preferred_set);
2936 syncable::ModelTypeSet new_set = sync_service->GetPreferredDataTypes(); 2990 syncable::ModelTypeSet new_set = sync_service->GetPreferredDataTypes();
(...skipping 29 matching lines...) Expand all
2966 EXPECT_EQ(0u, autofill_manager_->GetSentStates().size()); 3020 EXPECT_EQ(0u, autofill_manager_->GetSentStates().size());
2967 3021
2968 // When a new render_view is created, we send the state even if it's the 3022 // When a new render_view is created, we send the state even if it's the
2969 // same. 3023 // same.
2970 UpdatePasswordGenerationState(true); 3024 UpdatePasswordGenerationState(true);
2971 EXPECT_EQ(1u, autofill_manager_->GetSentStates().size()); 3025 EXPECT_EQ(1u, autofill_manager_->GetSentStates().size());
2972 EXPECT_FALSE(autofill_manager_->GetSentStates()[0]); 3026 EXPECT_FALSE(autofill_manager_->GetSentStates()[0]);
2973 autofill_manager_->ClearSentStates(); 3027 autofill_manager_->ClearSentStates();
2974 } 3028 }
2975 3029
2976 TEST_F(AutofillManagerTest, RemoveProfile) { 3030 TEST_F(AutofillManagerTest, UpdatePasswordGenerationState) {
2977 // Add and remove an Autofill profile. 3031 // Always set password sync enabled so we can test the behavior of password
2978 AutofillProfile* profile = new AutofillProfile; 3032 // generation.
2979 std::string guid = "00000000-0000-0000-0000-000000000102"; 3033 profile()->GetPrefs()->SetBoolean(prefs::kSyncKeepEverythingSynced, false);
2980 profile->set_guid(guid.c_str()); 3034 ProfileSyncService* sync_service = GetProfileSyncService();
2981 autofill_manager_->AddProfile(profile); 3035 sync_service->SetSyncSetupCompleted();
3036 syncable::ModelTypeSet preferred_set;
3037 preferred_set.Put(syncable::PASSWORDS);
3038 sync_service->ChangePreferredDataTypes(preferred_set);
2982 3039
2983 GUIDPair guid_pair(guid, 0); 3040 // Enabled state remains false, should not sent.
2984 GUIDPair empty(std::string(), 0); 3041 profile()->GetPrefs()->SetBoolean(prefs::kPasswordGenerationEnabled, false);
2985 int id = PackGUIDs(empty, guid_pair); 3042 UpdatePasswordGenerationState(false);
3043 EXPECT_EQ(0u, autofill_manager_->GetSentStates().size());
2986 3044
2987 autofill_manager_->RemoveAutofillProfileOrCreditCard(id); 3045 // Enabled state from false to true, should sent true.
3046 profile()->GetPrefs()->SetBoolean(prefs::kPasswordGenerationEnabled, true);
3047 UpdatePasswordGenerationState(false);
3048 EXPECT_EQ(1u, autofill_manager_->GetSentStates().size());
3049 EXPECT_TRUE(autofill_manager_->GetSentStates()[0]);
3050 autofill_manager_->ClearSentStates();
2988 3051
2989 EXPECT_FALSE(autofill_manager_->GetProfileWithGUID(guid.c_str())); 3052 // Enabled states remains true, should not sent.
2990 } 3053 profile()->GetPrefs()->SetBoolean(prefs::kPasswordGenerationEnabled, true);
3054 UpdatePasswordGenerationState(false);
3055 EXPECT_EQ(0u, autofill_manager_->GetSentStates().size());
2991 3056
2992 TEST_F(AutofillManagerTest, RemoveCreditCard){ 3057 // Enabled states from true to false, should sent false.
2993 // Add and remove an Autofill credit card. 3058 profile()->GetPrefs()->SetBoolean(prefs::kPasswordGenerationEnabled, false);
2994 CreditCard* credit_card = new CreditCard; 3059 UpdatePasswordGenerationState(false);
2995 std::string guid = "00000000-0000-0000-0000-000000100007"; 3060 EXPECT_EQ(1u, autofill_manager_->GetSentStates().size());
2996 credit_card->set_guid(guid.c_str()); 3061 EXPECT_FALSE(autofill_manager_->GetSentStates()[0]);
2997 autofill_manager_->AddCreditCard(credit_card); 3062 autofill_manager_->ClearSentStates();
2998 3063
2999 GUIDPair guid_pair(guid, 0); 3064 // When a new render_view is created, we send the state even if it's the
3000 GUIDPair empty(std::string(), 0); 3065 // same.
3001 int id = PackGUIDs(guid_pair, empty); 3066 UpdatePasswordGenerationState(true);
3002 3067 EXPECT_EQ(1u, autofill_manager_->GetSentStates().size());
3003 autofill_manager_->RemoveAutofillProfileOrCreditCard(id); 3068 EXPECT_FALSE(autofill_manager_->GetSentStates()[0]);
3004 3069 autofill_manager_->ClearSentStates();
3005 EXPECT_FALSE(autofill_manager_->GetCreditCardWithGUID(guid.c_str()));
3006 }
3007
3008 TEST_F(AutofillManagerTest, RemoveProfileVariant) {
3009 // Add and remove an Autofill profile.
3010 AutofillProfile* profile = new AutofillProfile;
3011 std::string guid = "00000000-0000-0000-0000-000000000102";
3012 profile->set_guid(guid.c_str());
3013 autofill_manager_->AddProfile(profile);
3014
3015 GUIDPair guid_pair(guid, 1);
3016 GUIDPair empty(std::string(), 0);
3017 int id = PackGUIDs(empty, guid_pair);
3018
3019 autofill_manager_->RemoveAutofillProfileOrCreditCard(id);
3020
3021 // TODO(csharp): Currently variants should not be deleted, but once they are
3022 // update these expectations.
3023 // http://crbug.com/124211
3024 EXPECT_TRUE(autofill_manager_->GetProfileWithGUID(guid.c_str()));
3025 } 3070 }
3026 3071
3027 namespace { 3072 namespace {
3028 3073
3029 class MockAutofillExternalDelegate : public TestAutofillExternalDelegate { 3074 class MockAutofillExternalDelegate : public TestAutofillExternalDelegate {
3030 public: 3075 public:
3031 explicit MockAutofillExternalDelegate(TabContentsWrapper* wrapper, 3076 explicit MockAutofillExternalDelegate(TabContentsWrapper* wrapper,
3032 AutofillManager* autofill_manager) 3077 AutofillManager* autofill_manager)
3033 : TestAutofillExternalDelegate(wrapper, autofill_manager) {} 3078 : TestAutofillExternalDelegate(wrapper, autofill_manager) {}
3034 virtual ~MockAutofillExternalDelegate() {} 3079 virtual ~MockAutofillExternalDelegate() {}
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
3084 3129
3085 AutofillManager* autofill_manager = contents_wrapper()->autofill_manager(); 3130 AutofillManager* autofill_manager = contents_wrapper()->autofill_manager();
3086 EXPECT_TRUE(autofill_manager->external_delegate()); 3131 EXPECT_TRUE(autofill_manager->external_delegate());
3087 3132
3088 AutocompleteHistoryManager* autocomplete_history_manager = 3133 AutocompleteHistoryManager* autocomplete_history_manager =
3089 contents_wrapper()->autocomplete_history_manager(); 3134 contents_wrapper()->autocomplete_history_manager();
3090 EXPECT_TRUE(autocomplete_history_manager->external_delegate()); 3135 EXPECT_TRUE(autocomplete_history_manager->external_delegate());
3091 } 3136 }
3092 3137
3093 #endif // OS_ANDROID 3138 #endif // OS_ANDROID
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698