diff options
author | oshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-04-30 21:24:02 +0000 |
---|---|---|
committer | oshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-04-30 21:24:02 +0000 |
commit | fdf74bff8ca4b5b63e8af67e34d195a004a73300 (patch) | |
tree | 55dfb7e381468022a9d31bbddf6bc61e21cd3e59 /ash/test | |
parent | 5f7e2b3d7e0212322d3b06b9623e9adb6ef37e67 (diff) | |
download | chromium_src-fdf74bff8ca4b5b63e8af67e34d195a004a73300.zip chromium_src-fdf74bff8ca4b5b63e8af67e34d195a004a73300.tar.gz chromium_src-fdf74bff8ca4b5b63e8af67e34d195a004a73300.tar.bz2 |
CleanUp: Introduce UserInfo. Move session_state stuff to ash/session.
BUG=None
R=nkostylev@chromium.org
TBR=sky@chromium.org
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=267158
Review URL: https://codereview.chromium.org/253063002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@267337 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/test')
-rw-r--r-- | ash/test/test_session_state_delegate.cc | 107 | ||||
-rw-r--r-- | ash/test/test_session_state_delegate.h | 28 | ||||
-rw-r--r-- | ash/test/test_shell_delegate.cc | 2 | ||||
-rw-r--r-- | ash/test/test_system_tray_delegate.cc | 2 |
4 files changed, 90 insertions, 49 deletions
diff --git a/ash/test/test_session_state_delegate.cc b/ash/test/test_session_state_delegate.cc index f7efe1d..8831b58 100644 --- a/ash/test/test_session_state_delegate.cc +++ b/ash/test/test_session_state_delegate.cc @@ -7,12 +7,17 @@ #include <algorithm> #include <string> +#include "ash/session/user_info.h" #include "ash/shell.h" #include "ash/system/user/login_status.h" +#include "base/stl_util.h" #include "base/strings/string16.h" #include "base/strings/utf_string_conversions.h" #include "testing/gtest/include/gtest/gtest.h" +namespace ash { +namespace test { + namespace { // The the "canonicalized" user ID from a given |email| address. @@ -24,8 +29,40 @@ std::string GetUserIDFromEmail(const std::string& email) { } // namespace -namespace ash { -namespace test { +class MockUserInfo : public UserInfo { + public: + explicit MockUserInfo(const std::string& id) : email_(id) {} + virtual ~MockUserInfo() {} + + void SetUserImage(const gfx::ImageSkia& user_image) { + user_image_ = user_image; + } + + virtual base::string16 GetDisplayName() const OVERRIDE { + return base::UTF8ToUTF16("Über tray Über tray Über tray Über tray"); + } + + virtual base::string16 GetGivenName() const OVERRIDE { + return base::UTF8ToUTF16("Über Über Über Über"); + } + + virtual std::string GetEmail() const OVERRIDE { return email_; } + + virtual std::string GetUserID() const OVERRIDE { + return GetUserIDFromEmail(GetEmail()); + } + + virtual const gfx::ImageSkia& GetImage() const OVERRIDE { + return user_image_; + } + + // A test user image. + gfx::ImageSkia user_image_; + + std::string email_; + + DISALLOW_COPY_AND_ASSIGN(MockUserInfo); +}; TestSessionStateDelegate::TestSessionStateDelegate() : has_active_user_(false), @@ -34,10 +71,26 @@ TestSessionStateDelegate::TestSessionStateDelegate() should_lock_screen_before_suspending_(false), screen_locked_(false), user_adding_screen_running_(false), - logged_in_users_(1) { + logged_in_users_(1), + active_user_index_(0) { + user_list_.push_back( + new MockUserInfo("First@tray")); // This is intended to be capitalized. + user_list_.push_back( + new MockUserInfo("Second@tray")); // This is intended to be capitalized. + user_list_.push_back(new MockUserInfo("third@tray")); + user_list_.push_back(new MockUserInfo("someone@tray")); } TestSessionStateDelegate::~TestSessionStateDelegate() { + STLDeleteElements(&user_list_); +} + +void TestSessionStateDelegate::AddUser(const std::string user_id) { + user_list_.push_back(new MockUserInfo(user_id)); +} + +const UserInfo* TestSessionStateDelegate::GetActiveUserInfo() const { + return user_list_[active_user_index_]; } content::BrowserContext* @@ -136,51 +189,41 @@ void TestSessionStateDelegate::SetUserAddingScreenRunning( void TestSessionStateDelegate::SetUserImage( const gfx::ImageSkia& user_image) { - user_image_ = user_image; -} - -const base::string16 TestSessionStateDelegate::GetUserDisplayName( - MultiProfileIndex index) const { - return base::UTF8ToUTF16("Über tray Über tray Über tray Über tray"); + user_list_[active_user_index_]->SetUserImage(user_image); } -const base::string16 TestSessionStateDelegate::GetUserGivenName( +const UserInfo* TestSessionStateDelegate::GetUserInfo( MultiProfileIndex index) const { - return base::UTF8ToUTF16("Über Über Über Über"); + int max = static_cast<int>(user_list_.size()); + return user_list_[index < max ? index : max - 1]; } -const std::string TestSessionStateDelegate::GetUserEmail( - MultiProfileIndex index) const { - switch (index) { - case 0: return "First@tray"; // This is intended to be capitalized. - case 1: return "Second@tray"; // This is intended to be capitalized. - case 2: return "third@tray"; - default: return "someone@tray"; - } -} - -const std::string TestSessionStateDelegate::GetUserID( - MultiProfileIndex index) const { - return GetUserIDFromEmail(GetUserEmail(index)); -} - -const gfx::ImageSkia& TestSessionStateDelegate::GetUserImage( +const UserInfo* TestSessionStateDelegate::GetUserInfo( content::BrowserContext* context) const { - return user_image_; + return user_list_[active_user_index_]; } -bool TestSessionStateDelegate::ShouldShowAvatar(aura::Window* window) { - return !user_image_.isNull(); +bool TestSessionStateDelegate::ShouldShowAvatar(aura::Window* window) const { + return !GetActiveUserInfo()->GetImage().isNull(); } void TestSessionStateDelegate::SwitchActiveUser(const std::string& user_id) { // Make sure this is a user id and not an email address. EXPECT_EQ(user_id, GetUserIDFromEmail(user_id)); - activated_user_ = user_id; + active_user_index_ = 0; + for (std::vector<MockUserInfo*>::iterator iter = user_list_.begin(); + iter != user_list_.end(); + ++iter) { + if ((*iter)->GetUserID() == user_id) { + active_user_index_ = iter - user_list_.begin(); + return; + } + } + NOTREACHED() << "Unknown user:" << user_id; } void TestSessionStateDelegate::CycleActiveUser(CycleUser cycle_user) { - activated_user_ = "someone@tray"; + SwitchActiveUser("someone@tray"); } void TestSessionStateDelegate::AddSessionStateObserver( diff --git a/ash/test/test_session_state_delegate.h b/ash/test/test_session_state_delegate.h index cceefa2..5616eec 100644 --- a/ash/test/test_session_state_delegate.h +++ b/ash/test/test_session_state_delegate.h @@ -5,7 +5,9 @@ #ifndef ASH_TEST_TEST_SESSION_STATE_DELEGATE_H_ #define ASH_TEST_TEST_SESSION_STATE_DELEGATE_H_ -#include "ash/session_state_delegate.h" +#include <vector> + +#include "ash/session/session_state_delegate.h" #include "base/basictypes.h" #include "base/compiler_specific.h" #include "ui/gfx/image/image_skia.h" @@ -13,13 +15,16 @@ namespace ash { namespace test { +class MockUserInfo; + class TestSessionStateDelegate : public SessionStateDelegate { public: TestSessionStateDelegate(); virtual ~TestSessionStateDelegate(); void set_logged_in_users(int users) { logged_in_users_ = users; } - const std::string& get_activated_user() { return activated_user_; } + void AddUser(const std::string user_id); + const UserInfo* GetActiveUserInfo() const; // SessionStateDelegate: virtual content::BrowserContext* GetBrowserContextByIndex( @@ -36,17 +41,11 @@ class TestSessionStateDelegate : public SessionStateDelegate { virtual void UnlockScreen() OVERRIDE; virtual bool IsUserSessionBlocked() const OVERRIDE; virtual SessionState GetSessionState() const OVERRIDE; - virtual const base::string16 GetUserDisplayName( - ash::MultiProfileIndex index) const OVERRIDE; - virtual const base::string16 GetUserGivenName( - ash::MultiProfileIndex index) const OVERRIDE; - virtual const std::string GetUserEmail( - ash::MultiProfileIndex index) const OVERRIDE; - virtual const std::string GetUserID( + virtual const UserInfo* GetUserInfo( ash::MultiProfileIndex index) const OVERRIDE; - virtual const gfx::ImageSkia& GetUserImage( + virtual const UserInfo* GetUserInfo( content::BrowserContext* context) const OVERRIDE; - virtual bool ShouldShowAvatar(aura::Window* window) OVERRIDE; + virtual bool ShouldShowAvatar(aura::Window* window) const OVERRIDE; virtual void SwitchActiveUser(const std::string& user_id) OVERRIDE; virtual void CycleActiveUser(CycleUser cycle_user) OVERRIDE; virtual void AddSessionStateObserver( @@ -108,11 +107,10 @@ class TestSessionStateDelegate : public SessionStateDelegate { // The number of users logged in. int logged_in_users_; - // The activated user. - std::string activated_user_; + // The index for the activated user. + int active_user_index_; - // A test user image. - gfx::ImageSkia user_image_; + std::vector<MockUserInfo*> user_list_; DISALLOW_COPY_AND_ASSIGN(TestSessionStateDelegate); }; diff --git a/ash/test/test_shell_delegate.cc b/ash/test/test_shell_delegate.cc index 8ba5ba0..52962ee 100644 --- a/ash/test/test_shell_delegate.cc +++ b/ash/test/test_shell_delegate.cc @@ -10,7 +10,7 @@ #include "ash/gpu_support_stub.h" #include "ash/media_delegate.h" #include "ash/new_window_delegate.h" -#include "ash/session_state_delegate.h" +#include "ash/session/session_state_delegate.h" #include "ash/shell.h" #include "ash/shell/keyboard_controller_proxy_stub.h" #include "ash/shell_window_ids.h" diff --git a/ash/test/test_system_tray_delegate.cc b/ash/test/test_system_tray_delegate.cc index 473802d..c4a45b9 100644 --- a/ash/test/test_system_tray_delegate.cc +++ b/ash/test/test_system_tray_delegate.cc @@ -6,7 +6,7 @@ #include <string> -#include "ash/session_state_delegate.h" +#include "ash/session/session_state_delegate.h" #include "ash/shell.h" #include "base/message_loop/message_loop.h" #include "base/time/time.h" |