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