#include "chrome/browser/chromeos/login/users/mock_user_manager.h"
+#include "base/task_runner.h"
#include "chrome/browser/chromeos/login/users/fake_supervised_user_manager.h"
+#include "chrome/browser/chromeos/profiles/profile_helper.h"
+
+namespace {
+
+class FakeTaskRunner : public base::TaskRunner {
+ public:
+ virtual bool PostDelayedTask(const tracked_objects::Location& from_here,
+ const base::Closure& task,
+ base::TimeDelta delay) OVERRIDE {
+ task.Run();
+ return true;
+ }
+ virtual bool RunsTasksOnCurrentThread() const OVERRIDE { return true; }
+
+ protected:
+ virtual ~FakeTaskRunner() {}
+};
+
+} // namespace
namespace chromeos {
MockUserManager::MockUserManager()
- : user_flow_(new DefaultUserFlow()),
- supervised_user_manager_(new FakeSupervisedUserManager()) {}
+ : ChromeUserManager(new FakeTaskRunner(), new FakeTaskRunner()),
+ user_flow_(new DefaultUserFlow()),
+ supervised_user_manager_(new FakeSupervisedUserManager()) {
+ ProfileHelper::SetProfileToUserForTestingEnabled(true);
+}
MockUserManager::~MockUserManager() {
+ ProfileHelper::SetProfileToUserForTestingEnabled(false);
ClearUserList();
}
-const UserList& MockUserManager::GetUsers() const {
+const user_manager::UserList& MockUserManager::GetUsers() const {
return user_list_;
}
-const User* MockUserManager::GetLoggedInUser() const {
+const user_manager::User* MockUserManager::GetLoggedInUser() const {
return user_list_.empty() ? NULL : user_list_.front();
}
-User* MockUserManager::GetLoggedInUser() {
+user_manager::User* MockUserManager::GetLoggedInUser() {
return user_list_.empty() ? NULL : user_list_.front();
}
-UserList MockUserManager::GetUnlockUsers() const {
+user_manager::UserList MockUserManager::GetUnlockUsers() const {
return user_list_;
}
-const std::string& MockUserManager::GetOwnerEmail() {
+const std::string& MockUserManager::GetOwnerEmail() const {
return GetLoggedInUser()->email();
}
-const User* MockUserManager::GetActiveUser() const {
+const user_manager::User* MockUserManager::GetActiveUser() const {
return GetLoggedInUser();
}
-User* MockUserManager::GetActiveUser() {
+user_manager::User* MockUserManager::GetActiveUser() {
return GetLoggedInUser();
}
-const User* MockUserManager::GetPrimaryUser() const {
+const user_manager::User* MockUserManager::GetPrimaryUser() const {
return GetLoggedInUser();
}
-User* MockUserManager::GetUserByProfile(Profile* profile) const {
- return user_list_.empty() ? NULL : user_list_.front();
-}
-
MultiProfileUserController* MockUserManager::GetMultiProfileUserController() {
return NULL;
}
return user_flow_.get();
}
-User* MockUserManager::CreatePublicAccountUser(const std::string& email) {
+user_manager::User* MockUserManager::CreatePublicAccountUser(
+ const std::string& email) {
ClearUserList();
- user_list_.push_back(User::CreatePublicAccountUser(email));
+ user_manager::User* user = user_manager::User::CreatePublicAccountUser(email);
+ user_list_.push_back(user);
+ ProfileHelper::Get()->SetProfileToUserMappingForTesting(user);
return user_list_.back();
}
void MockUserManager::AddUser(const std::string& email) {
- user_list_.push_back(User::CreateRegularUser(email));
+ user_manager::User* user = user_manager::User::CreateRegularUser(email);
+ user_list_.push_back(user);
+ ProfileHelper::Get()->SetProfileToUserMappingForTesting(user);
}
void MockUserManager::ClearUserList() {
// Can't use STLDeleteElements because of the protected destructor of User.
- UserList::iterator user;
+ user_manager::UserList::iterator user;
for (user = user_list_.begin(); user != user_list_.end(); ++user)
delete *user;
user_list_.clear();
}
-bool MockUserManager::RespectLocalePreference(
- Profile* profile,
- const User* user,
- scoped_ptr<locale_util::SwitchLanguageCallback> callback) const {
- return false;
-}
-
} // namespace chromeos