OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "ash/ash_switches.h" | 7 #include "ash/ash_switches.h" |
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/strings/string16.h" | 10 #include "base/strings/string16.h" |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
65 new ScopedUserManagerEnabler(new FakeChromeUserManager)); | 65 new ScopedUserManagerEnabler(new FakeChromeUserManager)); |
66 } | 66 } |
67 | 67 |
68 FakeChromeUserManager* GetFakeChromeUserManager() { | 68 FakeChromeUserManager* GetFakeChromeUserManager() { |
69 return static_cast<FakeChromeUserManager*>( | 69 return static_cast<FakeChromeUserManager*>( |
70 user_manager::UserManager::Get()); | 70 user_manager::UserManager::Get()); |
71 } | 71 } |
72 | 72 |
73 void AddProfile(base::string16 name, bool log_in) { | 73 void AddProfile(base::string16 name, bool log_in) { |
74 std::string email_string = base::UTF16ToASCII(name) + "@example.com"; | 74 std::string email_string = base::UTF16ToASCII(name) + "@example.com"; |
| 75 const AccountId account_id(AccountId::FromUserEmail(email_string)); |
75 | 76 |
76 // Add a user to the fake user manager. | 77 // Add a user to the fake user manager. |
77 GetFakeChromeUserManager()->AddUser(email_string); | 78 GetFakeChromeUserManager()->AddUser(account_id); |
78 if (log_in) | 79 if (log_in) |
79 GetFakeChromeUserManager()->LoginUser(email_string); | 80 GetFakeChromeUserManager()->LoginUser(account_id); |
80 | 81 |
81 // Create a profile for the user. | 82 // Create a profile for the user. |
82 manager()->CreateTestingProfile(email_string); | 83 manager()->CreateTestingProfile(account_id.GetUserEmail()); |
83 } | 84 } |
84 | 85 |
85 AvatarMenu* GetAvatarMenu() { | 86 AvatarMenu* GetAvatarMenu() { |
86 // Reset the MockObserver. | 87 // Reset the MockObserver. |
87 mock_observer_.reset(new MockObserver()); | 88 mock_observer_.reset(new MockObserver()); |
88 EXPECT_EQ(0, change_count()); | 89 EXPECT_EQ(0, change_count()); |
89 | 90 |
90 // Reset the menu. | 91 // Reset the menu. |
91 avatar_menu_.reset(new AvatarMenu( | 92 avatar_menu_.reset(new AvatarMenu( |
92 manager()->profile_info_cache(), | 93 manager()->profile_info_cache(), |
93 mock_observer_.get(), | 94 mock_observer_.get(), |
94 NULL)); | 95 NULL)); |
95 avatar_menu_->RebuildMenu(); | 96 avatar_menu_->RebuildMenu(); |
96 EXPECT_EQ(0, change_count()); | 97 EXPECT_EQ(0, change_count()); |
97 return avatar_menu_.get(); | 98 return avatar_menu_.get(); |
98 } | 99 } |
99 | 100 |
100 void ActiveUserChanged(const base::string16& name) { | 101 void ActiveUserChanged(const base::string16& name) { |
101 std::string email_string = base::UTF16ToASCII(name) + "@example.com"; | 102 std::string email_string = base::UTF16ToASCII(name) + "@example.com"; |
102 GetFakeChromeUserManager()->SwitchActiveUser(email_string); | 103 const AccountId account_id(AccountId::FromUserEmail(email_string)); |
| 104 GetFakeChromeUserManager()->SwitchActiveUser(account_id); |
103 } | 105 } |
104 | 106 |
105 TestingProfileManager* manager() { return &manager_; } | 107 TestingProfileManager* manager() { return &manager_; } |
106 | 108 |
107 int change_count() const { return mock_observer_->change_count(); } | 109 int change_count() const { return mock_observer_->change_count(); } |
108 | 110 |
109 private: | 111 private: |
110 content::TestBrowserThreadBundle thread_bundle_; | 112 content::TestBrowserThreadBundle thread_bundle_; |
111 TestingProfileManager manager_; | 113 TestingProfileManager manager_; |
112 scoped_ptr<MockObserver> mock_observer_; | 114 scoped_ptr<MockObserver> mock_observer_; |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
160 base::string16 supervised_name(ASCIIToUTF16("p2@example.com")); | 162 base::string16 supervised_name(ASCIIToUTF16("p2@example.com")); |
161 | 163 |
162 AddProfile(name1, true); | 164 AddProfile(name1, true); |
163 | 165 |
164 // Add a managed user profile. | 166 // Add a managed user profile. |
165 ProfileInfoCache* cache = manager()->profile_info_cache(); | 167 ProfileInfoCache* cache = manager()->profile_info_cache(); |
166 manager()->profile_info_cache()->AddProfileToCache( | 168 manager()->profile_info_cache()->AddProfileToCache( |
167 cache->GetUserDataDir().AppendASCII("p2"), supervised_name, std::string(), | 169 cache->GetUserDataDir().AppendASCII("p2"), supervised_name, std::string(), |
168 base::string16(), 0, "TEST_ID"); | 170 base::string16(), 0, "TEST_ID"); |
169 | 171 |
170 GetFakeChromeUserManager()->AddUser(base::UTF16ToASCII(supervised_name)); | 172 GetFakeChromeUserManager()->AddUser( |
| 173 AccountId::FromUserEmail(base::UTF16ToASCII(supervised_name))); |
171 | 174 |
172 AvatarMenu* menu = GetAvatarMenu(); | 175 AvatarMenu* menu = GetAvatarMenu(); |
173 ASSERT_EQ(1U, menu->GetNumberOfItems()); | 176 ASSERT_EQ(1U, menu->GetNumberOfItems()); |
174 | 177 |
175 const AvatarMenu::Item& item1 = menu->GetItemAt(0); | 178 const AvatarMenu::Item& item1 = menu->GetItemAt(0); |
176 EXPECT_EQ(0U, item1.menu_index); | 179 EXPECT_EQ(0U, item1.menu_index); |
177 EXPECT_EQ(name1, item1.name); | 180 EXPECT_EQ(name1, item1.name); |
178 } | 181 } |
179 | 182 |
180 TEST_F(ProfileListChromeOSTest, ShowAddProfileLink) { | 183 TEST_F(ProfileListChromeOSTest, ShowAddProfileLink) { |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
236 EXPECT_EQ(0U, item1.menu_index); | 239 EXPECT_EQ(0U, item1.menu_index); |
237 EXPECT_EQ(name1, item1.name); | 240 EXPECT_EQ(name1, item1.name); |
238 | 241 |
239 const AvatarMenu::Item& item2 = menu->GetItemAt(1); | 242 const AvatarMenu::Item& item2 = menu->GetItemAt(1); |
240 EXPECT_EQ(1U, item2.menu_index); | 243 EXPECT_EQ(1U, item2.menu_index); |
241 EXPECT_EQ(name2, item2.name); | 244 EXPECT_EQ(name2, item2.name); |
242 | 245 |
243 // Change name of the first profile, to trigger resorting of the profiles: | 246 // Change name of the first profile, to trigger resorting of the profiles: |
244 // now the first menu item should be named "beta", and the second be "gamma". | 247 // now the first menu item should be named "beta", and the second be "gamma". |
245 GetFakeChromeUserManager()->SaveUserDisplayName( | 248 GetFakeChromeUserManager()->SaveUserDisplayName( |
246 base::UTF16ToASCII(name1) + "@example.com", newname1); | 249 AccountId::FromUserEmail(base::UTF16ToASCII(name1) + "@example.com"), |
| 250 newname1); |
247 manager()->profile_info_cache()->SetNameOfProfileAtIndex(0, newname1); | 251 manager()->profile_info_cache()->SetNameOfProfileAtIndex(0, newname1); |
248 EXPECT_EQ(1, change_count()); | 252 EXPECT_EQ(1, change_count()); |
249 | 253 |
250 const AvatarMenu::Item& item1next = menu->GetItemAt(0); | 254 const AvatarMenu::Item& item1next = menu->GetItemAt(0); |
251 EXPECT_EQ(0U, item1next.menu_index); | 255 EXPECT_EQ(0U, item1next.menu_index); |
252 EXPECT_EQ(name2, item1next.name); | 256 EXPECT_EQ(name2, item1next.name); |
253 | 257 |
254 const AvatarMenu::Item& item2next = menu->GetItemAt(1); | 258 const AvatarMenu::Item& item2next = menu->GetItemAt(1); |
255 EXPECT_EQ(1U, item2next.menu_index); | 259 EXPECT_EQ(1U, item2next.menu_index); |
256 EXPECT_EQ(newname1, item2next.name); | 260 EXPECT_EQ(newname1, item2next.name); |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
298 | 302 |
299 // Should only show avatar menu with multiple users. | 303 // Should only show avatar menu with multiple users. |
300 EXPECT_FALSE(AvatarMenu::ShouldShowAvatarMenu()); | 304 EXPECT_FALSE(AvatarMenu::ShouldShowAvatarMenu()); |
301 | 305 |
302 AddProfile(name2, false); | 306 AddProfile(name2, false); |
303 | 307 |
304 EXPECT_FALSE(AvatarMenu::ShouldShowAvatarMenu()); | 308 EXPECT_FALSE(AvatarMenu::ShouldShowAvatarMenu()); |
305 } | 309 } |
306 | 310 |
307 } // namespace chromeos | 311 } // namespace chromeos |
OLD | NEW |