| Index: ash/common/test/test_session_state_delegate.cc
|
| diff --git a/ash/common/test/test_session_state_delegate.cc b/ash/common/test/test_session_state_delegate.cc
|
| deleted file mode 100644
|
| index 265c048705225444ce6dc5a3db832dc810e427e1..0000000000000000000000000000000000000000
|
| --- a/ash/common/test/test_session_state_delegate.cc
|
| +++ /dev/null
|
| @@ -1,253 +0,0 @@
|
| -// Copyright (c) 2013 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 "ash/common/test/test_session_state_delegate.h"
|
| -
|
| -#include <algorithm>
|
| -#include <string>
|
| -
|
| -#include "ash/common/login_status.h"
|
| -#include "ash/common/wm_shell.h"
|
| -#include "base/memory/ptr_util.h"
|
| -#include "base/strings/string16.h"
|
| -#include "base/strings/utf_string_conversions.h"
|
| -#include "components/signin/core/account_id/account_id.h"
|
| -#include "components/user_manager/user_info.h"
|
| -#include "testing/gtest/include/gtest/gtest.h"
|
| -
|
| -namespace ash {
|
| -namespace test {
|
| -
|
| -namespace {
|
| -
|
| -// Returns the "canonicalized" email from a given |email| address.
|
| -std::string GetUserIdFromEmail(const std::string& email) {
|
| - std::string user_id = email;
|
| - std::transform(user_id.begin(), user_id.end(), user_id.begin(), ::tolower);
|
| - return user_id;
|
| -}
|
| -
|
| -// Returns Account ID from a given |email| address.
|
| -AccountId GetAccountIdFromEmail(const std::string& email) {
|
| - return AccountId::FromUserEmail(GetUserIdFromEmail(email));
|
| -}
|
| -
|
| -} // namespace
|
| -
|
| -class MockUserInfo : public user_manager::UserInfo {
|
| - public:
|
| - explicit MockUserInfo(const std::string& display_email)
|
| - : display_email_(display_email),
|
| - account_id_(GetAccountIdFromEmail(display_email)) {}
|
| - ~MockUserInfo() override {}
|
| -
|
| - void SetUserImage(const gfx::ImageSkia& user_image) {
|
| - user_image_ = user_image;
|
| - }
|
| -
|
| - base::string16 GetDisplayName() const override {
|
| - return base::UTF8ToUTF16("Über tray Über tray Über tray Über tray");
|
| - }
|
| -
|
| - base::string16 GetGivenName() const override {
|
| - return base::UTF8ToUTF16("Über Über Über Über");
|
| - }
|
| -
|
| - std::string GetDisplayEmail() const override { return display_email_; }
|
| -
|
| - const AccountId& GetAccountId() const override { return account_id_; }
|
| -
|
| - const gfx::ImageSkia& GetImage() const override { return user_image_; }
|
| -
|
| - // A test user image.
|
| - gfx::ImageSkia user_image_;
|
| -
|
| - std::string display_email_;
|
| - const AccountId account_id_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(MockUserInfo);
|
| -};
|
| -
|
| -// A test version of user_manager::UserManager which can be used for testing on
|
| -// non-ChromeOS builds.
|
| -class TestSessionStateDelegate::TestUserManager {
|
| - public:
|
| - TestUserManager() : session_started_(false) {}
|
| -
|
| - void SessionStarted() { session_started_ = true; }
|
| -
|
| - bool IsSessionStarted() const { return session_started_; }
|
| -
|
| - private:
|
| - // True if SessionStarted() has been called.
|
| - bool session_started_;
|
| - DISALLOW_COPY_AND_ASSIGN(TestUserManager);
|
| -};
|
| -
|
| -TestSessionStateDelegate::TestSessionStateDelegate()
|
| - : can_lock_screen_(true),
|
| - should_lock_screen_automatically_(false),
|
| - screen_locked_(false),
|
| - user_adding_screen_running_(false),
|
| - logged_in_users_(1),
|
| - active_user_index_(0),
|
| - user_manager_(new TestUserManager()),
|
| - session_state_(session_manager::SessionState::LOGIN_PRIMARY) {
|
| - // This is intended to be capitalized.
|
| - user_list_.push_back(base::MakeUnique<MockUserInfo>("First@tray"));
|
| - // This is intended to be capitalized.
|
| - user_list_.push_back(base::MakeUnique<MockUserInfo>("Second@tray"));
|
| - user_list_.push_back(base::MakeUnique<MockUserInfo>("third@tray"));
|
| - user_list_.push_back(base::MakeUnique<MockUserInfo>("someone@tray"));
|
| -}
|
| -
|
| -TestSessionStateDelegate::~TestSessionStateDelegate() {}
|
| -
|
| -void TestSessionStateDelegate::AddUser(const AccountId& account_id) {
|
| - user_list_.push_back(
|
| - base::MakeUnique<MockUserInfo>(account_id.GetUserEmail()));
|
| -}
|
| -
|
| -const user_manager::UserInfo* TestSessionStateDelegate::GetActiveUserInfo()
|
| - const {
|
| - return user_list_[active_user_index_].get();
|
| -}
|
| -
|
| -int TestSessionStateDelegate::GetMaximumNumberOfLoggedInUsers() const {
|
| - return 3;
|
| -}
|
| -
|
| -int TestSessionStateDelegate::NumberOfLoggedInUsers() const {
|
| - // TODO(skuhne): Add better test framework to test multiple profiles.
|
| - return IsActiveUserSessionStarted() ? logged_in_users_ : 0;
|
| -}
|
| -
|
| -bool TestSessionStateDelegate::IsActiveUserSessionStarted() const {
|
| - return user_manager_->IsSessionStarted() &&
|
| - session_state_ == session_manager::SessionState::ACTIVE;
|
| -}
|
| -
|
| -bool TestSessionStateDelegate::CanLockScreen() const {
|
| - return IsActiveUserSessionStarted() && can_lock_screen_;
|
| -}
|
| -
|
| -bool TestSessionStateDelegate::IsScreenLocked() const {
|
| - return screen_locked_;
|
| -}
|
| -
|
| -bool TestSessionStateDelegate::ShouldLockScreenAutomatically() const {
|
| - return should_lock_screen_automatically_;
|
| -}
|
| -
|
| -void TestSessionStateDelegate::LockScreen() {
|
| - if (CanLockScreen())
|
| - screen_locked_ = true;
|
| -}
|
| -
|
| -void TestSessionStateDelegate::UnlockScreen() {
|
| - screen_locked_ = false;
|
| -}
|
| -
|
| -bool TestSessionStateDelegate::IsUserSessionBlocked() const {
|
| - return !IsActiveUserSessionStarted() || IsScreenLocked() ||
|
| - user_adding_screen_running_ ||
|
| - session_state_ != session_manager::SessionState::ACTIVE;
|
| -}
|
| -
|
| -session_manager::SessionState TestSessionStateDelegate::GetSessionState()
|
| - const {
|
| - return session_state_;
|
| -}
|
| -
|
| -void TestSessionStateDelegate::SetHasActiveUser(bool has_active_user) {
|
| - session_state_ = has_active_user
|
| - ? session_manager::SessionState::ACTIVE
|
| - : session_manager::SessionState::LOGIN_PRIMARY;
|
| -}
|
| -
|
| -void TestSessionStateDelegate::SetActiveUserSessionStarted(
|
| - bool active_user_session_started) {
|
| - if (active_user_session_started) {
|
| - user_manager_->SessionStarted();
|
| - session_state_ = session_manager::SessionState::ACTIVE;
|
| - WmShell::Get()->CreateShelfView();
|
| - WmShell::Get()->UpdateAfterLoginStatusChange(LoginStatus::USER);
|
| - } else {
|
| - session_state_ = session_manager::SessionState::LOGIN_PRIMARY;
|
| - user_manager_.reset(new TestUserManager());
|
| - }
|
| -}
|
| -
|
| -// static
|
| -void TestSessionStateDelegate::SetCanLockScreen(bool can_lock_screen) {
|
| - CHECK(WmShell::HasInstance());
|
| - static_cast<ash::test::TestSessionStateDelegate*>(
|
| - WmShell::Get()->GetSessionStateDelegate())
|
| - ->can_lock_screen_ = can_lock_screen;
|
| -}
|
| -
|
| -void TestSessionStateDelegate::SetShouldLockScreenAutomatically(
|
| - bool should_lock) {
|
| - should_lock_screen_automatically_ = should_lock;
|
| -}
|
| -
|
| -void TestSessionStateDelegate::SetUserAddingScreenRunning(
|
| - bool user_adding_screen_running) {
|
| - user_adding_screen_running_ = user_adding_screen_running;
|
| - if (user_adding_screen_running_)
|
| - session_state_ = session_manager::SessionState::LOGIN_SECONDARY;
|
| - else
|
| - session_state_ = session_manager::SessionState::ACTIVE;
|
| -}
|
| -
|
| -void TestSessionStateDelegate::SetUserImage(const gfx::ImageSkia& user_image) {
|
| - user_list_[active_user_index_]->SetUserImage(user_image);
|
| -}
|
| -
|
| -const user_manager::UserInfo* TestSessionStateDelegate::GetUserInfo(
|
| - UserIndex index) const {
|
| - int max = static_cast<int>(user_list_.size());
|
| - return user_list_[index < max ? index : max - 1].get();
|
| -}
|
| -
|
| -bool TestSessionStateDelegate::ShouldShowAvatar(WmWindow* window) const {
|
| - return !GetActiveUserInfo()->GetImage().isNull();
|
| -}
|
| -
|
| -gfx::ImageSkia TestSessionStateDelegate::GetAvatarImageForWindow(
|
| - WmWindow* window) const {
|
| - return gfx::ImageSkia();
|
| -}
|
| -
|
| -void TestSessionStateDelegate::SwitchActiveUser(const AccountId& account_id) {
|
| - // Make sure this is a user id and not an email address.
|
| - EXPECT_EQ(account_id.GetUserEmail(),
|
| - GetUserIdFromEmail(account_id.GetUserEmail()));
|
| - active_user_index_ = 0;
|
| - for (auto iter = user_list_.begin(); iter != user_list_.end(); ++iter) {
|
| - if ((*iter)->GetAccountId() == account_id) {
|
| - active_user_index_ = iter - user_list_.begin();
|
| - return;
|
| - }
|
| - }
|
| - NOTREACHED() << "Unknown user:" << account_id.GetUserEmail();
|
| -}
|
| -
|
| -void TestSessionStateDelegate::CycleActiveUser(CycleUserDirection direction) {
|
| - SwitchActiveUser(AccountId::FromUserEmail("someone@tray"));
|
| -}
|
| -
|
| -bool TestSessionStateDelegate::IsMultiProfileAllowedByPrimaryUserPolicy()
|
| - const {
|
| - return true;
|
| -}
|
| -
|
| -void TestSessionStateDelegate::AddSessionStateObserver(
|
| - SessionStateObserver* observer) {}
|
| -
|
| -void TestSessionStateDelegate::RemoveSessionStateObserver(
|
| - SessionStateObserver* observer) {}
|
| -
|
| -} // namespace test
|
| -} // namespace ash
|
|
|