summaryrefslogtreecommitdiffstats
path: root/ash/test
diff options
context:
space:
mode:
authoroshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-30 21:24:02 +0000
committeroshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-30 21:24:02 +0000
commitfdf74bff8ca4b5b63e8af67e34d195a004a73300 (patch)
tree55dfb7e381468022a9d31bbddf6bc61e21cd3e59 /ash/test
parent5f7e2b3d7e0212322d3b06b9623e9adb6ef37e67 (diff)
downloadchromium_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.cc107
-rw-r--r--ash/test/test_session_state_delegate.h28
-rw-r--r--ash/test/test_shell_delegate.cc2
-rw-r--r--ash/test/test_system_tray_delegate.cc2
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"