OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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 "ash/test/test_session_state_delegate.h" | 5 #include "ash/test/test_session_state_delegate.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "ash/shell.h" | 10 #include "ash/shell.h" |
11 #include "ash/system/user/login_status.h" | 11 #include "ash/system/user/login_status.h" |
12 #include "base/stl_util.h" | 12 #include "base/stl_util.h" |
13 #include "base/strings/string16.h" | 13 #include "base/strings/string16.h" |
14 #include "base/strings/utf_string_conversions.h" | 14 #include "base/strings/utf_string_conversions.h" |
15 #include "components/signin/core/account_id/account_id.h" | 15 #include "components/signin/core/account_id/account_id.h" |
16 #include "components/user_manager/user_info.h" | 16 #include "components/user_manager/user_info.h" |
17 #include "testing/gtest/include/gtest/gtest.h" | 17 #include "testing/gtest/include/gtest/gtest.h" |
18 | 18 |
19 namespace ash { | 19 namespace ash { |
20 namespace test { | 20 namespace test { |
21 | 21 |
22 namespace { | 22 namespace { |
23 | 23 |
24 // The the "canonicalized" Account ID from a given |email| address. | 24 // Returns the "canonicalized" email from a given |email| address. |
25 AccountId GetAccountIdFromEmail(const std::string& email) { | 25 std::string GetUserIdFromEmail(const std::string& email) { |
26 std::string user_id = email; | 26 std::string user_id = email; |
27 std::transform(user_id.begin(), user_id.end(), user_id.begin(), ::tolower); | 27 std::transform(user_id.begin(), user_id.end(), user_id.begin(), ::tolower); |
28 return AccountId::FromUserEmail(user_id); | 28 return user_id; |
| 29 } |
| 30 |
| 31 // Returns Account ID from a given |email| address. |
| 32 AccountId GetAccountIdFromEmail(const std::string& email) { |
| 33 return AccountId::FromUserEmail(GetUserIdFromEmail(email)); |
29 } | 34 } |
30 | 35 |
31 } // namespace | 36 } // namespace |
32 | 37 |
33 class MockUserInfo : public user_manager::UserInfo { | 38 class MockUserInfo : public user_manager::UserInfo { |
34 public: | 39 public: |
35 explicit MockUserInfo(const std::string& display_email) | 40 explicit MockUserInfo(const std::string& display_email) |
36 : display_email_(display_email), | 41 : display_email_(display_email), |
37 account_id_(GetAccountIdFromEmail(display_email)) {} | 42 account_id_(GetAccountIdFromEmail(display_email)) {} |
38 ~MockUserInfo() override {} | 43 ~MockUserInfo() override {} |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
94 user_list_.push_back( | 99 user_list_.push_back( |
95 new MockUserInfo("Second@tray")); // This is intended to be capitalized. | 100 new MockUserInfo("Second@tray")); // This is intended to be capitalized. |
96 user_list_.push_back(new MockUserInfo("third@tray")); | 101 user_list_.push_back(new MockUserInfo("third@tray")); |
97 user_list_.push_back(new MockUserInfo("someone@tray")); | 102 user_list_.push_back(new MockUserInfo("someone@tray")); |
98 } | 103 } |
99 | 104 |
100 TestSessionStateDelegate::~TestSessionStateDelegate() { | 105 TestSessionStateDelegate::~TestSessionStateDelegate() { |
101 STLDeleteElements(&user_list_); | 106 STLDeleteElements(&user_list_); |
102 } | 107 } |
103 | 108 |
104 void TestSessionStateDelegate::AddUser(const std::string& user_id) { | 109 void TestSessionStateDelegate::AddUser(const AccountId& account_id) { |
105 user_list_.push_back(new MockUserInfo(user_id)); | 110 user_list_.push_back(new MockUserInfo(account_id.GetUserEmail())); |
106 } | 111 } |
107 | 112 |
108 const user_manager::UserInfo* TestSessionStateDelegate::GetActiveUserInfo() | 113 const user_manager::UserInfo* TestSessionStateDelegate::GetActiveUserInfo() |
109 const { | 114 const { |
110 return user_list_[active_user_index_]; | 115 return user_list_[active_user_index_]; |
111 } | 116 } |
112 | 117 |
113 int TestSessionStateDelegate::GetMaximumNumberOfLoggedInUsers() const { | 118 int TestSessionStateDelegate::GetMaximumNumberOfLoggedInUsers() const { |
114 return 3; | 119 return 3; |
115 } | 120 } |
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
209 | 214 |
210 bool TestSessionStateDelegate::ShouldShowAvatar(aura::Window* window) const { | 215 bool TestSessionStateDelegate::ShouldShowAvatar(aura::Window* window) const { |
211 return !GetActiveUserInfo()->GetImage().isNull(); | 216 return !GetActiveUserInfo()->GetImage().isNull(); |
212 } | 217 } |
213 | 218 |
214 gfx::ImageSkia TestSessionStateDelegate::GetAvatarImageForWindow( | 219 gfx::ImageSkia TestSessionStateDelegate::GetAvatarImageForWindow( |
215 aura::Window* window) const { | 220 aura::Window* window) const { |
216 return gfx::ImageSkia(); | 221 return gfx::ImageSkia(); |
217 } | 222 } |
218 | 223 |
219 void TestSessionStateDelegate::SwitchActiveUser(const std::string& user_id) { | 224 void TestSessionStateDelegate::SwitchActiveUser(const AccountId& account_id) { |
220 const AccountId account_id(GetAccountIdFromEmail(user_id)); | |
221 // Make sure this is a user id and not an email address. | 225 // Make sure this is a user id and not an email address. |
222 EXPECT_EQ(user_id, account_id.GetUserEmail()); | 226 EXPECT_EQ(account_id.GetUserEmail(), |
| 227 GetUserIdFromEmail(account_id.GetUserEmail())); |
223 active_user_index_ = 0; | 228 active_user_index_ = 0; |
224 for (std::vector<MockUserInfo*>::iterator iter = user_list_.begin(); | 229 for (std::vector<MockUserInfo*>::iterator iter = user_list_.begin(); |
225 iter != user_list_.end(); | 230 iter != user_list_.end(); |
226 ++iter) { | 231 ++iter) { |
227 if ((*iter)->GetAccountId() == account_id) { | 232 if ((*iter)->GetAccountId() == account_id) { |
228 active_user_index_ = iter - user_list_.begin(); | 233 active_user_index_ = iter - user_list_.begin(); |
229 return; | 234 return; |
230 } | 235 } |
231 } | 236 } |
232 NOTREACHED() << "Unknown user:" << account_id.GetUserEmail(); | 237 NOTREACHED() << "Unknown user:" << account_id.GetUserEmail(); |
233 } | 238 } |
234 | 239 |
235 void TestSessionStateDelegate::CycleActiveUser(CycleUser cycle_user) { | 240 void TestSessionStateDelegate::CycleActiveUser(CycleUser cycle_user) { |
236 SwitchActiveUser("someone@tray"); | 241 SwitchActiveUser(AccountId::FromUserEmail("someone@tray")); |
237 } | 242 } |
238 | 243 |
239 bool TestSessionStateDelegate::IsMultiProfileAllowedByPrimaryUserPolicy() | 244 bool TestSessionStateDelegate::IsMultiProfileAllowedByPrimaryUserPolicy() |
240 const { | 245 const { |
241 return true; | 246 return true; |
242 } | 247 } |
243 | 248 |
244 void TestSessionStateDelegate::AddSessionStateObserver( | 249 void TestSessionStateDelegate::AddSessionStateObserver( |
245 SessionStateObserver* observer) { | 250 SessionStateObserver* observer) { |
246 } | 251 } |
247 | 252 |
248 void TestSessionStateDelegate::RemoveSessionStateObserver( | 253 void TestSessionStateDelegate::RemoveSessionStateObserver( |
249 SessionStateObserver* observer) { | 254 SessionStateObserver* observer) { |
250 } | 255 } |
251 | 256 |
252 } // namespace test | 257 } // namespace test |
253 } // namespace ash | 258 } // namespace ash |
OLD | NEW |