OLD | NEW |
---|---|
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 <string> | 5 #include <string> |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/files/file_util.h" | 8 #include "base/files/file_util.h" |
9 #include "base/files/scoped_temp_dir.h" | 9 #include "base/files/scoped_temp_dir.h" |
10 #include "base/path_service.h" | 10 #include "base/path_service.h" |
(...skipping 1160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1171 profiles::GetAvatarNameForProfile(profile2->GetPath())); | 1171 profiles::GetAvatarNameForProfile(profile2->GetPath())); |
1172 | 1172 |
1173 // Deleting a profile means returning to the original, actual profile name. | 1173 // Deleting a profile means returning to the original, actual profile name. |
1174 profile_manager->ScheduleProfileForDeletion(profile2->GetPath(), | 1174 profile_manager->ScheduleProfileForDeletion(profile2->GetPath(), |
1175 ProfileManager::CreateCallback()); | 1175 ProfileManager::CreateCallback()); |
1176 // Spin the message loop so that all the callbacks can finish running. | 1176 // Spin the message loop so that all the callbacks can finish running. |
1177 base::RunLoop().RunUntilIdle(); | 1177 base::RunLoop().RunUntilIdle(); |
1178 EXPECT_EQ(gaia_given_name, | 1178 EXPECT_EQ(gaia_given_name, |
1179 profiles::GetAvatarNameForProfile(profile1->GetPath())); | 1179 profiles::GetAvatarNameForProfile(profile1->GetPath())); |
1180 } | 1180 } |
1181 | |
1182 TEST_F(ProfileManagerTest, ProfileDisplayNameIsEmailIfDefaultName) { | |
1183 if (!profiles::IsMultipleProfilesEnabled()) | |
1184 return; | |
1185 | |
1186 // The command line is reset at the end of every test by the test suite. | |
1187 switches::EnableNewAvatarMenuForTesting(CommandLine::ForCurrentProcess()); | |
1188 | |
1189 ProfileManager* profile_manager = g_browser_process->profile_manager(); | |
1190 ProfileInfoCache& cache = profile_manager->GetProfileInfoCache(); | |
1191 EXPECT_EQ(0u, cache.GetNumberOfProfiles()); | |
1192 | |
1193 // Create two signed in profiles, with both new and legacy default names, and | |
1194 // a profile with a custom name. | |
1195 Profile* profile1 = AddProfileToCache( | |
1196 profile_manager, "path_1", ASCIIToUTF16("Person 1")); | |
1197 Profile* profile2 = AddProfileToCache( | |
1198 profile_manager, "path_2", ASCIIToUTF16("Default Profile")); | |
1199 const base::string16 profile_name3(ASCIIToUTF16("Batman")); | |
1200 Profile* profile3 = AddProfileToCache( | |
1201 profile_manager, "path_3", profile_name3); | |
1202 EXPECT_EQ(3u, cache.GetNumberOfProfiles()); | |
1203 | |
1204 // Sign in all profiles, and make sure they do not have a Gaia name set. | |
1205 const base::string16 email1(ASCIIToUTF16("user1@gmail.com")); | |
1206 const base::string16 email2(ASCIIToUTF16("user2@gmail.com")); | |
1207 const base::string16 email3(ASCIIToUTF16("user3@gmail.com")); | |
1208 | |
1209 int index = cache.GetIndexOfProfileWithPath(profile1->GetPath()); | |
1210 cache.SetUserNameOfProfileAtIndex(index, email1); | |
1211 cache.SetGAIAGivenNameOfProfileAtIndex(index, base::string16()); | |
1212 cache.SetGAIANameOfProfileAtIndex(index, base::string16()); | |
1213 | |
1214 // This may resort the cache, so be extra cautious to use the right profile. | |
1215 index = cache.GetIndexOfProfileWithPath(profile2->GetPath()); | |
1216 cache.SetUserNameOfProfileAtIndex(index, email2); | |
1217 cache.SetGAIAGivenNameOfProfileAtIndex(index, base::string16()); | |
1218 cache.SetGAIANameOfProfileAtIndex(index, base::string16()); | |
1219 | |
1220 index = cache.GetIndexOfProfileWithPath(profile3->GetPath()); | |
1221 cache.SetUserNameOfProfileAtIndex(index, email3); | |
1222 cache.SetGAIAGivenNameOfProfileAtIndex(index, base::string16()); | |
1223 cache.SetGAIANameOfProfileAtIndex(index, base::string16()); | |
1224 | |
1225 // The profiles with default names should display the email address. | |
1226 EXPECT_EQ(email1, profiles::GetAvatarNameForProfile(profile1->GetPath())); | |
1227 EXPECT_EQ(email2, profiles::GetAvatarNameForProfile(profile2->GetPath())); | |
1228 | |
1229 // The profile with the custom name should display that. | |
1230 EXPECT_EQ(profile_name3, | |
1231 profiles::GetAvatarNameForProfile(profile3->GetPath())); | |
1232 | |
1233 // Adding a Gaia name to a profile that previous had a default name should | |
rpetterson
2014/09/16 19:05:02
typo: previously
noms (inactive)
2014/09/16 21:08:05
Done.
| |
1234 // start displaying it. | |
1235 const base::string16 gaia_given_name(ASCIIToUTF16("Robin")); | |
1236 cache.SetGAIAGivenNameOfProfileAtIndex( | |
1237 cache.GetIndexOfProfileWithPath(profile1->GetPath()), gaia_given_name); | |
1238 EXPECT_EQ(gaia_given_name, | |
1239 profiles::GetAvatarNameForProfile(profile1->GetPath())); | |
1240 } | |
1181 #endif // !defined(OS_ANDROID) && !defined(OS_CHROMEOS) | 1241 #endif // !defined(OS_ANDROID) && !defined(OS_CHROMEOS) |
1182 | 1242 |
1183 #if defined(OS_MACOSX) | 1243 #if defined(OS_MACOSX) |
1184 // These tests are for a Mac-only code path that assumes the browser | 1244 // These tests are for a Mac-only code path that assumes the browser |
1185 // process isn't killed when all browser windows are closed. | 1245 // process isn't killed when all browser windows are closed. |
1186 TEST_F(ProfileManagerTest, ActiveProfileDeletedNeedsToLoadNextProfile) { | 1246 TEST_F(ProfileManagerTest, ActiveProfileDeletedNeedsToLoadNextProfile) { |
1187 ProfileManager* profile_manager = g_browser_process->profile_manager(); | 1247 ProfileManager* profile_manager = g_browser_process->profile_manager(); |
1188 ASSERT_TRUE(profile_manager); | 1248 ASSERT_TRUE(profile_manager); |
1189 | 1249 |
1190 // Create and load one profile, and just create a second profile. | 1250 // Create and load one profile, and just create a second profile. |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1279 dest_path2.BaseName().MaybeAsASCII()); | 1339 dest_path2.BaseName().MaybeAsASCII()); |
1280 profile_manager->ScheduleProfileForDeletion(dest_path2, | 1340 profile_manager->ScheduleProfileForDeletion(dest_path2, |
1281 ProfileManager::CreateCallback()); | 1341 ProfileManager::CreateCallback()); |
1282 // Spin the message loop so that all the callbacks can finish running. | 1342 // Spin the message loop so that all the callbacks can finish running. |
1283 base::RunLoop().RunUntilIdle(); | 1343 base::RunLoop().RunUntilIdle(); |
1284 | 1344 |
1285 EXPECT_EQ(dest_path3, profile_manager->GetLastUsedProfile()->GetPath()); | 1345 EXPECT_EQ(dest_path3, profile_manager->GetLastUsedProfile()->GetPath()); |
1286 EXPECT_EQ(profile_name3, local_state->GetString(prefs::kProfileLastUsed)); | 1346 EXPECT_EQ(profile_name3, local_state->GetString(prefs::kProfileLastUsed)); |
1287 } | 1347 } |
1288 #endif // !defined(OS_MACOSX) | 1348 #endif // !defined(OS_MACOSX) |
OLD | NEW |