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 "chrome/browser/chromeos/login/mock_user_manager.h" | 5 #include "chrome/browser/chromeos/login/mock_user_manager.h" |
6 | 6 |
7 namespace chromeos { | 7 namespace chromeos { |
8 | 8 |
9 MockUserManager::MockUserManager() : user_(NULL) {} | 9 MockUserManager::MockUserManager() : user_(NULL) {} |
10 | 10 |
11 MockUserManager::~MockUserManager() { | 11 MockUserManager::~MockUserManager() { |
12 delete user_; | 12 delete user_; |
13 } | 13 } |
14 | 14 |
15 const User& MockUserManager::GetLoggedInUser() const { | 15 const User& MockUserManager::GetLoggedInUser() const { |
16 return *user_; | 16 return *user_; |
17 } | 17 } |
18 | 18 |
19 User& MockUserManager::GetLoggedInUser() { | 19 User& MockUserManager::GetLoggedInUser() { |
20 return *user_; | 20 return *user_; |
21 } | 21 } |
22 | 22 |
23 // Creates a new User instance. | 23 // Creates a new User instance. |
24 void MockUserManager::SetLoggedInUser(const std::string& email, bool guest) { | 24 void MockUserManager::SetLoggedInUser(const std::string& email, bool guest) { |
25 delete user_; | 25 delete user_; |
26 user_ = new User(email, guest); | 26 user_ = new User(email, guest); |
27 } | 27 } |
28 | 28 |
| 29 ScopedMockUserManagerEnabler::ScopedMockUserManagerEnabler() { |
| 30 user_manager_.reset(new MockUserManager()); |
| 31 old_user_manager_ = UserManager::Set(user_manager_.get()); |
| 32 } |
| 33 |
| 34 ScopedMockUserManagerEnabler::~ScopedMockUserManagerEnabler() { |
| 35 UserManager::Set(old_user_manager_); |
| 36 } |
| 37 |
| 38 MockUserManager* ScopedMockUserManagerEnabler::user_manager() { |
| 39 return user_manager_.get(); |
| 40 } |
| 41 |
29 } // namespace chromeos | 42 } // namespace chromeos |
OLD | NEW |