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

Side by Side Diff: chrome/browser/profiles/profile_list_desktop_unittest.cc

Issue 59883010: This is the fourth CL of several that will eventually replace TokenService with (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Change LOG(INFO) to VLOG(1) Created 7 years, 1 month 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 "chrome/browser/profiles/profile_list_desktop.h" 5 #include "chrome/browser/profiles/profile_list_desktop.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "base/metrics/field_trial.h" 10 #include "base/metrics/field_trial.h"
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
79 scoped_ptr<AvatarMenu> avatar_menu_; 79 scoped_ptr<AvatarMenu> avatar_menu_;
80 80
81 DISALLOW_COPY_AND_ASSIGN(ProfileListDesktopTest); 81 DISALLOW_COPY_AND_ASSIGN(ProfileListDesktopTest);
82 }; 82 };
83 83
84 TEST_F(ProfileListDesktopTest, InitialCreation) { 84 TEST_F(ProfileListDesktopTest, InitialCreation) {
85 string16 name1(ASCIIToUTF16("Test 1")); 85 string16 name1(ASCIIToUTF16("Test 1"));
86 string16 name2(ASCIIToUTF16("Test 2")); 86 string16 name2(ASCIIToUTF16("Test 2"));
87 87
88 manager()->CreateTestingProfile("p1", scoped_ptr<PrefServiceSyncable>(), 88 manager()->CreateTestingProfile("p1", scoped_ptr<PrefServiceSyncable>(),
89 name1, 0, std::string()); 89 name1, 0, std::string(),
90 TestingProfile::TestingFactories());
90 manager()->CreateTestingProfile("p2", scoped_ptr<PrefServiceSyncable>(), 91 manager()->CreateTestingProfile("p2", scoped_ptr<PrefServiceSyncable>(),
91 name2, 0, std::string()); 92 name2, 0, std::string(),
93 TestingProfile::TestingFactories());
92 94
93 AvatarMenu* model = GetAvatarMenu(); 95 AvatarMenu* model = GetAvatarMenu();
94 EXPECT_EQ(0, change_count()); 96 EXPECT_EQ(0, change_count());
95 97
96 ASSERT_EQ(2U, model->GetNumberOfItems()); 98 ASSERT_EQ(2U, model->GetNumberOfItems());
97 99
98 const AvatarMenu::Item& item1 = model->GetItemAt(0); 100 const AvatarMenu::Item& item1 = model->GetItemAt(0);
99 EXPECT_EQ(0U, item1.menu_index); 101 EXPECT_EQ(0U, item1.menu_index);
100 EXPECT_EQ(name1, item1.name); 102 EXPECT_EQ(name1, item1.name);
101 103
102 const AvatarMenu::Item& item2 = model->GetItemAt(1); 104 const AvatarMenu::Item& item2 = model->GetItemAt(1);
103 EXPECT_EQ(1U, item2.menu_index); 105 EXPECT_EQ(1U, item2.menu_index);
104 EXPECT_EQ(name2, item2.name); 106 EXPECT_EQ(name2, item2.name);
105 } 107 }
106 108
107 TEST_F(ProfileListDesktopTest, ActiveItem) { 109 TEST_F(ProfileListDesktopTest, ActiveItem) {
108 string16 name1(ASCIIToUTF16("Test 1")); 110 string16 name1(ASCIIToUTF16("Test 1"));
109 string16 name2(ASCIIToUTF16("Test 2")); 111 string16 name2(ASCIIToUTF16("Test 2"));
110 112
111 manager()->CreateTestingProfile("p1", scoped_ptr<PrefServiceSyncable>(), 113 manager()->CreateTestingProfile("p1", scoped_ptr<PrefServiceSyncable>(),
112 name1, 0, std::string()); 114 name1, 0, std::string(),
115 TestingProfile::TestingFactories());
113 manager()->CreateTestingProfile("p2", scoped_ptr<PrefServiceSyncable>(), 116 manager()->CreateTestingProfile("p2", scoped_ptr<PrefServiceSyncable>(),
114 name2, 0, std::string()); 117 name2, 0, std::string(),
118 TestingProfile::TestingFactories());
115 119
116 AvatarMenu* model = GetAvatarMenu(); 120 AvatarMenu* model = GetAvatarMenu();
117 ASSERT_EQ(2U, model->GetNumberOfItems()); 121 ASSERT_EQ(2U, model->GetNumberOfItems());
118 // TODO(jeremy): Expand test to verify active profile index other than 0 122 // TODO(jeremy): Expand test to verify active profile index other than 0
119 // crbug.com/100871 123 // crbug.com/100871
120 ASSERT_EQ(0U, model->GetActiveProfileIndex()); 124 ASSERT_EQ(0U, model->GetActiveProfileIndex());
121 } 125 }
122 126
123 TEST_F(ProfileListDesktopTest, ModifyingNameResortsCorrectly) { 127 TEST_F(ProfileListDesktopTest, ModifyingNameResortsCorrectly) {
124 string16 name1(ASCIIToUTF16("Alpha")); 128 string16 name1(ASCIIToUTF16("Alpha"));
125 string16 name2(ASCIIToUTF16("Beta")); 129 string16 name2(ASCIIToUTF16("Beta"));
126 string16 newname1(ASCIIToUTF16("Gamma")); 130 string16 newname1(ASCIIToUTF16("Gamma"));
127 131
128 manager()->CreateTestingProfile("p1", scoped_ptr<PrefServiceSyncable>(), 132 manager()->CreateTestingProfile("p1", scoped_ptr<PrefServiceSyncable>(),
129 name1, 0, std::string()); 133 name1, 0, std::string(),
134 TestingProfile::TestingFactories());
130 manager()->CreateTestingProfile("p2", scoped_ptr<PrefServiceSyncable>(), 135 manager()->CreateTestingProfile("p2", scoped_ptr<PrefServiceSyncable>(),
131 name2, 0, std::string()); 136 name2, 0, std::string(),
137 TestingProfile::TestingFactories());
132 138
133 AvatarMenu* model = GetAvatarMenu(); 139 AvatarMenu* model = GetAvatarMenu();
134 EXPECT_EQ(0, change_count()); 140 EXPECT_EQ(0, change_count());
135 141
136 ASSERT_EQ(2U, model->GetNumberOfItems()); 142 ASSERT_EQ(2U, model->GetNumberOfItems());
137 143
138 const AvatarMenu::Item& item1 = model->GetItemAt(0); 144 const AvatarMenu::Item& item1 = model->GetItemAt(0);
139 EXPECT_EQ(0U, item1.menu_index); 145 EXPECT_EQ(0U, item1.menu_index);
140 EXPECT_EQ(name1, item1.name); 146 EXPECT_EQ(name1, item1.name);
141 147
(...skipping 12 matching lines...) Expand all
154 const AvatarMenu::Item& item2next = model->GetItemAt(1); 160 const AvatarMenu::Item& item2next = model->GetItemAt(1);
155 EXPECT_EQ(1U, item2next.menu_index); 161 EXPECT_EQ(1U, item2next.menu_index);
156 EXPECT_EQ(newname1, item2next.name); 162 EXPECT_EQ(newname1, item2next.name);
157 } 163 }
158 164
159 TEST_F(ProfileListDesktopTest, ChangeOnNotify) { 165 TEST_F(ProfileListDesktopTest, ChangeOnNotify) {
160 string16 name1(ASCIIToUTF16("Test 1")); 166 string16 name1(ASCIIToUTF16("Test 1"));
161 string16 name2(ASCIIToUTF16("Test 2")); 167 string16 name2(ASCIIToUTF16("Test 2"));
162 168
163 manager()->CreateTestingProfile("p1", scoped_ptr<PrefServiceSyncable>(), 169 manager()->CreateTestingProfile("p1", scoped_ptr<PrefServiceSyncable>(),
164 name1, 0, std::string()); 170 name1, 0, std::string(),
171 TestingProfile::TestingFactories());
165 manager()->CreateTestingProfile("p2", scoped_ptr<PrefServiceSyncable>(), 172 manager()->CreateTestingProfile("p2", scoped_ptr<PrefServiceSyncable>(),
166 name2, 0, std::string()); 173 name2, 0, std::string(),
174 TestingProfile::TestingFactories());
167 175
168 AvatarMenu* model = GetAvatarMenu(); 176 AvatarMenu* model = GetAvatarMenu();
169 EXPECT_EQ(0, change_count()); 177 EXPECT_EQ(0, change_count());
170 EXPECT_EQ(2U, model->GetNumberOfItems()); 178 EXPECT_EQ(2U, model->GetNumberOfItems());
171 179
172 string16 name3(ASCIIToUTF16("Test 3")); 180 string16 name3(ASCIIToUTF16("Test 3"));
173 manager()->CreateTestingProfile("p3", scoped_ptr<PrefServiceSyncable>(), 181 manager()->CreateTestingProfile("p3", scoped_ptr<PrefServiceSyncable>(),
174 name3, 0, std::string()); 182 name3, 0, std::string(),
183 TestingProfile::TestingFactories());
175 184
176 // Four changes happened via the call to CreateTestingProfile: adding the 185 // Four changes happened via the call to CreateTestingProfile: adding the
177 // profile to the cache, setting the user name, rebuilding the list of 186 // profile to the cache, setting the user name, rebuilding the list of
178 // profiles after the name change, and changing the avatar. 187 // profiles after the name change, and changing the avatar.
179 // On Windows, an extra change happens to set the shortcut name for the 188 // On Windows, an extra change happens to set the shortcut name for the
180 // profile. 189 // profile.
181 // TODO(michaelpg): Determine why five changes happen on ChromeOS and 190 // TODO(michaelpg): Determine why five changes happen on ChromeOS and
182 // investigate other platforms. 191 // investigate other platforms.
183 EXPECT_GE(change_count(), 4); 192 EXPECT_GE(change_count(), 4);
184 ASSERT_EQ(3U, model->GetNumberOfItems()); 193 ASSERT_EQ(3U, model->GetNumberOfItems());
(...skipping 23 matching lines...) Expand all
208 #if defined(OS_CHROMEOS) 217 #if defined(OS_CHROMEOS)
209 EXPECT_FALSE(AvatarMenu::ShouldShowAvatarMenu()); 218 EXPECT_FALSE(AvatarMenu::ShouldShowAvatarMenu());
210 #else 219 #else
211 EXPECT_TRUE(AvatarMenu::ShouldShowAvatarMenu()); 220 EXPECT_TRUE(AvatarMenu::ShouldShowAvatarMenu());
212 #endif 221 #endif
213 } 222 }
214 223
215 TEST_F(ProfileListDesktopTest, DontShowAvatarMenu) { 224 TEST_F(ProfileListDesktopTest, DontShowAvatarMenu) {
216 string16 name1(ASCIIToUTF16("Test 1")); 225 string16 name1(ASCIIToUTF16("Test 1"));
217 manager()->CreateTestingProfile("p1", scoped_ptr<PrefServiceSyncable>(), 226 manager()->CreateTestingProfile("p1", scoped_ptr<PrefServiceSyncable>(),
218 name1, 0, std::string()); 227 name1, 0, std::string(),
228 TestingProfile::TestingFactories());
219 229
220 EXPECT_FALSE(AvatarMenu::ShouldShowAvatarMenu()); 230 EXPECT_FALSE(AvatarMenu::ShouldShowAvatarMenu());
221 231
222 // If multiprofile mode is enabled, there are no other cases when we wouldn't 232 // If multiprofile mode is enabled, there are no other cases when we wouldn't
223 // show the menu. 233 // show the menu.
224 if (profiles::IsMultipleProfilesEnabled()) 234 if (profiles::IsMultipleProfilesEnabled())
225 return; 235 return;
226 236
227 string16 name2(ASCIIToUTF16("Test 2")); 237 string16 name2(ASCIIToUTF16("Test 2"));
228 manager()->CreateTestingProfile("p2", scoped_ptr<PrefServiceSyncable>(), 238 manager()->CreateTestingProfile("p2", scoped_ptr<PrefServiceSyncable>(),
229 name2, 0, std::string()); 239 name2, 0, std::string(),
240 TestingProfile::TestingFactories());
230 241
231 EXPECT_FALSE(AvatarMenu::ShouldShowAvatarMenu()); 242 EXPECT_FALSE(AvatarMenu::ShouldShowAvatarMenu());
232 } 243 }
233 244
234 TEST_F(ProfileListDesktopTest, ShowAvatarMenu) { 245 TEST_F(ProfileListDesktopTest, ShowAvatarMenu) {
235 // If multiprofile mode is not enabled then the menu is never shown. 246 // If multiprofile mode is not enabled then the menu is never shown.
236 if (!profiles::IsMultipleProfilesEnabled()) 247 if (!profiles::IsMultipleProfilesEnabled())
237 return; 248 return;
238 249
239 string16 name1(ASCIIToUTF16("Test 1")); 250 string16 name1(ASCIIToUTF16("Test 1"));
240 string16 name2(ASCIIToUTF16("Test 2")); 251 string16 name2(ASCIIToUTF16("Test 2"));
241 252
242 manager()->CreateTestingProfile("p1", scoped_ptr<PrefServiceSyncable>(), 253 manager()->CreateTestingProfile("p1", scoped_ptr<PrefServiceSyncable>(),
243 name1, 0, std::string()); 254 name1, 0, std::string(),
255 TestingProfile::TestingFactories());
244 manager()->CreateTestingProfile("p2", scoped_ptr<PrefServiceSyncable>(), 256 manager()->CreateTestingProfile("p2", scoped_ptr<PrefServiceSyncable>(),
245 name2, 0, std::string()); 257 name2, 0, std::string(),
258 TestingProfile::TestingFactories());
246 259
247 #if defined(OS_CHROMEOS) 260 #if defined(OS_CHROMEOS)
248 EXPECT_FALSE(AvatarMenu::ShouldShowAvatarMenu()); 261 EXPECT_FALSE(AvatarMenu::ShouldShowAvatarMenu());
249 #else 262 #else
250 EXPECT_TRUE(AvatarMenu::ShouldShowAvatarMenu()); 263 EXPECT_TRUE(AvatarMenu::ShouldShowAvatarMenu());
251 #endif 264 #endif
252 } 265 }
253 266
254 TEST_F(ProfileListDesktopTest, SyncState) { 267 TEST_F(ProfileListDesktopTest, SyncState) {
255 // If multiprofile mode is not enabled then the menu is never shown. 268 // If multiprofile mode is not enabled then the menu is never shown.
256 if (!profiles::IsMultipleProfilesEnabled()) 269 if (!profiles::IsMultipleProfilesEnabled())
257 return; 270 return;
258 271
259 manager()->CreateTestingProfile("p1", scoped_ptr<PrefServiceSyncable>(), 272 manager()->CreateTestingProfile("p1", scoped_ptr<PrefServiceSyncable>(),
260 ASCIIToUTF16("Test 1"), 0, std::string()); 273 ASCIIToUTF16("Test 1"), 0, std::string(),
274 TestingProfile::TestingFactories());
261 275
262 // Add a managed user profile. 276 // Add a managed user profile.
263 ProfileInfoCache* cache = manager()->profile_info_cache(); 277 ProfileInfoCache* cache = manager()->profile_info_cache();
264 manager()->profile_info_cache()->AddProfileToCache( 278 manager()->profile_info_cache()->AddProfileToCache(
265 cache->GetUserDataDir().AppendASCII("p2"), ASCIIToUTF16("Test 2"), 279 cache->GetUserDataDir().AppendASCII("p2"), ASCIIToUTF16("Test 2"),
266 string16(), 0, "TEST_ID"); 280 string16(), 0, "TEST_ID");
267 281
268 AvatarMenu* model = GetAvatarMenu(); 282 AvatarMenu* model = GetAvatarMenu();
269 model->RebuildMenu(); 283 model->RebuildMenu();
270 EXPECT_EQ(2U, model->GetNumberOfItems()); 284 EXPECT_EQ(2U, model->GetNumberOfItems());
271 285
272 // Now check that the sync_state of a managed user shows the managed user 286 // Now check that the sync_state of a managed user shows the managed user
273 // avatar label instead. 287 // avatar label instead.
274 base::string16 managed_user_label = 288 base::string16 managed_user_label =
275 l10n_util::GetStringUTF16(IDS_MANAGED_USER_AVATAR_LABEL); 289 l10n_util::GetStringUTF16(IDS_MANAGED_USER_AVATAR_LABEL);
276 const AvatarMenu::Item& item1 = model->GetItemAt(0); 290 const AvatarMenu::Item& item1 = model->GetItemAt(0);
277 EXPECT_NE(item1.sync_state, managed_user_label); 291 EXPECT_NE(item1.sync_state, managed_user_label);
278 292
279 const AvatarMenu::Item& item2 = model->GetItemAt(1); 293 const AvatarMenu::Item& item2 = model->GetItemAt(1);
280 EXPECT_EQ(item2.sync_state, managed_user_label); 294 EXPECT_EQ(item2.sync_state, managed_user_label);
281 } 295 }
282 296
283 } // namespace 297 } // namespace
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698