blob: 31a24e75dfd76ed9b526aa7331a019827eef4a01 [file] [log] [blame]
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/chromeos/login/mock_user_manager.h"
#include "chrome/browser/chromeos/login/fake_supervised_user_manager.h"
namespace chromeos {
MockUserManager::MockUserManager()
: user_flow_(new DefaultUserFlow()),
supervised_user_manager_(new FakeSupervisedUserManager()) {}
MockUserManager::~MockUserManager() {
ClearUserList();
}
const UserList& MockUserManager::GetUsers() const {
return user_list_;
}
const User* MockUserManager::GetLoggedInUser() const {
return user_list_.empty() ? NULL : user_list_.front();
}
User* MockUserManager::GetLoggedInUser() {
return user_list_.empty() ? NULL : user_list_.front();
}
UserList MockUserManager::GetUnlockUsers() const {
return user_list_;
}
const std::string& MockUserManager::GetOwnerEmail() {
return GetLoggedInUser()->email();
}
const User* MockUserManager::GetActiveUser() const {
return GetLoggedInUser();
}
User* MockUserManager::GetActiveUser() {
return GetLoggedInUser();
}
const User* MockUserManager::GetPrimaryUser() const {
return GetLoggedInUser();
}
User* MockUserManager::GetUserByProfile(Profile* profile) const {
return user_list_.empty() ? NULL : user_list_.front();
}
UserImageManager* MockUserManager::GetUserImageManager() {
return user_image_manager_.get();
}
SupervisedUserManager* MockUserManager::GetSupervisedUserManager() {
return supervised_user_manager_.get();
}
// Creates a new User instance.
void MockUserManager::SetActiveUser(const std::string& email) {
ClearUserList();
AddUser(email);
}
UserFlow* MockUserManager::GetCurrentUserFlow() const {
return user_flow_.get();
}
UserFlow* MockUserManager::GetUserFlow(const std::string&) const {
return user_flow_.get();
}
User* MockUserManager::CreatePublicAccountUser(const std::string& email) {
ClearUserList();
user_list_.push_back(User::CreatePublicAccountUser(email));
return user_list_.back();
}
void MockUserManager::AddUser(const std::string& email) {
user_list_.push_back(User::CreateRegularUser(email));
}
void MockUserManager::ClearUserList() {
// Can't use STLDeleteElements because of the protected destructor of User.
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