| Index: chrome/browser/profiles/profile_manager_unittest.cc
|
| diff --git a/chrome/browser/profiles/profile_manager_unittest.cc b/chrome/browser/profiles/profile_manager_unittest.cc
|
| index 4685581b5ad358d1bf932b468480bff2b720f862..82c7f89fbcbc8c2163189b6158aa152dfb1fa3e9 100644
|
| --- a/chrome/browser/profiles/profile_manager_unittest.cc
|
| +++ b/chrome/browser/profiles/profile_manager_unittest.cc
|
| @@ -1178,6 +1178,66 @@ TEST_F(ProfileManagerTest, ProfileDisplayNamePreservesSignedInName) {
|
| EXPECT_EQ(gaia_given_name,
|
| profiles::GetAvatarNameForProfile(profile1->GetPath()));
|
| }
|
| +
|
| +TEST_F(ProfileManagerTest, ProfileDisplayNameIsEmailIfDefaultName) {
|
| + if (!profiles::IsMultipleProfilesEnabled())
|
| + return;
|
| +
|
| + // The command line is reset at the end of every test by the test suite.
|
| + switches::EnableNewAvatarMenuForTesting(CommandLine::ForCurrentProcess());
|
| +
|
| + ProfileManager* profile_manager = g_browser_process->profile_manager();
|
| + ProfileInfoCache& cache = profile_manager->GetProfileInfoCache();
|
| + EXPECT_EQ(0u, cache.GetNumberOfProfiles());
|
| +
|
| + // Create two signed in profiles, with both new and legacy default names, and
|
| + // a profile with a custom name.
|
| + Profile* profile1 = AddProfileToCache(
|
| + profile_manager, "path_1", ASCIIToUTF16("Person 1"));
|
| + Profile* profile2 = AddProfileToCache(
|
| + profile_manager, "path_2", ASCIIToUTF16("Default Profile"));
|
| + const base::string16 profile_name3(ASCIIToUTF16("Batman"));
|
| + Profile* profile3 = AddProfileToCache(
|
| + profile_manager, "path_3", profile_name3);
|
| + EXPECT_EQ(3u, cache.GetNumberOfProfiles());
|
| +
|
| + // Sign in all profiles, and make sure they do not have a Gaia name set.
|
| + const base::string16 email1(ASCIIToUTF16("user1@gmail.com"));
|
| + const base::string16 email2(ASCIIToUTF16("user2@gmail.com"));
|
| + const base::string16 email3(ASCIIToUTF16("user3@gmail.com"));
|
| +
|
| + int index = cache.GetIndexOfProfileWithPath(profile1->GetPath());
|
| + cache.SetUserNameOfProfileAtIndex(index, email1);
|
| + cache.SetGAIAGivenNameOfProfileAtIndex(index, base::string16());
|
| + cache.SetGAIANameOfProfileAtIndex(index, base::string16());
|
| +
|
| + // This may resort the cache, so be extra cautious to use the right profile.
|
| + index = cache.GetIndexOfProfileWithPath(profile2->GetPath());
|
| + cache.SetUserNameOfProfileAtIndex(index, email2);
|
| + cache.SetGAIAGivenNameOfProfileAtIndex(index, base::string16());
|
| + cache.SetGAIANameOfProfileAtIndex(index, base::string16());
|
| +
|
| + index = cache.GetIndexOfProfileWithPath(profile3->GetPath());
|
| + cache.SetUserNameOfProfileAtIndex(index, email3);
|
| + cache.SetGAIAGivenNameOfProfileAtIndex(index, base::string16());
|
| + cache.SetGAIANameOfProfileAtIndex(index, base::string16());
|
| +
|
| + // The profiles with default names should display the email address.
|
| + EXPECT_EQ(email1, profiles::GetAvatarNameForProfile(profile1->GetPath()));
|
| + EXPECT_EQ(email2, profiles::GetAvatarNameForProfile(profile2->GetPath()));
|
| +
|
| + // The profile with the custom name should display that.
|
| + EXPECT_EQ(profile_name3,
|
| + profiles::GetAvatarNameForProfile(profile3->GetPath()));
|
| +
|
| + // Adding a Gaia name to a profile that previously had a default name should
|
| + // start displaying it.
|
| + const base::string16 gaia_given_name(ASCIIToUTF16("Robin"));
|
| + cache.SetGAIAGivenNameOfProfileAtIndex(
|
| + cache.GetIndexOfProfileWithPath(profile1->GetPath()), gaia_given_name);
|
| + EXPECT_EQ(gaia_given_name,
|
| + profiles::GetAvatarNameForProfile(profile1->GetPath()));
|
| +}
|
| #endif // !defined(OS_ANDROID) && !defined(OS_CHROMEOS)
|
|
|
| #if defined(OS_MACOSX)
|
|
|