summaryrefslogtreecommitdiffstats
path: root/chromeos/login
diff options
context:
space:
mode:
authortbarzic@chromium.org <tbarzic@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-16 23:30:23 +0000
committertbarzic@chromium.org <tbarzic@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-16 23:30:23 +0000
commit3612f990aa4b0aeeb0660c2d483708b8c6f87a76 (patch)
treea7350a9987017e09185ac33810ebd1ed82227d2f /chromeos/login
parentaa2d9e52f9a082ffdd655f3867a033122a092855 (diff)
downloadchromium_src-3612f990aa4b0aeeb0660c2d483708b8c6f87a76.zip
chromium_src-3612f990aa4b0aeeb0660c2d483708b8c6f87a76.tar.gz
chromium_src-3612f990aa4b0aeeb0660c2d483708b8c6f87a76.tar.bz2
Test that LoginState observer triggers when only user type changes
Also, remove some uneeded dependencies from LoginState tests. BUG=NONE Review URL: https://chromiumcodereview.appspot.com/23444061 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@223468 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chromeos/login')
-rw-r--r--chromeos/login/login_state_unittest.cc33
1 files changed, 21 insertions, 12 deletions
diff --git a/chromeos/login/login_state_unittest.cc b/chromeos/login/login_state_unittest.cc
index d71b9d5..4054007 100644
--- a/chromeos/login/login_state_unittest.cc
+++ b/chromeos/login/login_state_unittest.cc
@@ -6,9 +6,7 @@
#include "base/command_line.h"
#include "base/compiler_specific.h"
-#include "base/message_loop/message_loop.h"
#include "chromeos/chromeos_switches.h"
-#include "chromeos/dbus/dbus_thread_manager.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace chromeos {
@@ -25,8 +23,6 @@ class LoginStateTest : public testing::Test,
// testing::Test
virtual void SetUp() OVERRIDE {
CommandLine::ForCurrentProcess()->AppendSwitch(switches::kLoginManager);
- // Initialize DBusThreadManager with a stub implementation.
- DBusThreadManager::InitializeWithStub();
LoginState::Initialize();
LoginState::Get()->AddObserver(this);
}
@@ -34,7 +30,6 @@ class LoginStateTest : public testing::Test,
virtual void TearDown() OVERRIDE {
LoginState::Get()->RemoveObserver(this);
LoginState::Shutdown();
- DBusThreadManager::Shutdown();
}
// LoginState::Observer
@@ -52,7 +47,6 @@ class LoginStateTest : public testing::Test,
return result;
}
- base::MessageLoopForUI message_loop_;
LoginState::LoggedInUserType logged_in_user_type_;
private:
@@ -76,8 +70,6 @@ TEST_F(LoginStateTest, TestLoginState) {
EXPECT_TRUE(LoginState::Get()->IsUserLoggedIn());
EXPECT_FALSE(LoginState::Get()->IsInSafeMode());
- // Run the message loop, observer should update members.
- message_loop_.RunUntilIdle();
EXPECT_EQ(1U, GetNewLoginStateChangesCount());
EXPECT_EQ(LoginState::LOGGED_IN_USER_REGULAR, logged_in_user_type_);
}
@@ -96,8 +88,6 @@ TEST_F(LoginStateTest, TestSafeModeLoginState) {
EXPECT_FALSE(LoginState::Get()->IsUserLoggedIn());
EXPECT_TRUE(LoginState::Get()->IsInSafeMode());
- // Run the message loop, observer should update members.
- message_loop_.RunUntilIdle();
EXPECT_EQ(1U, GetNewLoginStateChangesCount());
EXPECT_EQ(LoginState::LOGGED_IN_USER_NONE, logged_in_user_type_);
@@ -109,10 +99,29 @@ TEST_F(LoginStateTest, TestSafeModeLoginState) {
EXPECT_TRUE(LoginState::Get()->IsUserLoggedIn());
EXPECT_FALSE(LoginState::Get()->IsInSafeMode());
- // Run the message loop, observer should update members.
- message_loop_.RunUntilIdle();
EXPECT_EQ(1U, GetNewLoginStateChangesCount());
EXPECT_EQ(LoginState::LOGGED_IN_USER_OWNER, logged_in_user_type_);
}
+TEST_F(LoginStateTest, TestLoggedInStateChangedObserverOnUserTypeChange) {
+ LoginState::Get()->SetLoggedInState(LoginState::LOGGED_IN_ACTIVE,
+ LoginState::LOGGED_IN_USER_REGULAR);
+
+ EXPECT_EQ(1u, GetNewLoginStateChangesCount());
+ EXPECT_TRUE(LoginState::Get()->IsUserLoggedIn());
+ EXPECT_EQ(LoginState::LOGGED_IN_USER_REGULAR, logged_in_user_type_);
+ EXPECT_EQ(LoginState::LOGGED_IN_USER_REGULAR,
+ LoginState::Get()->GetLoggedInUserType());
+
+ // Change the user type, without changing the logged in state.
+ LoginState::Get()->SetLoggedInState(LoginState::LOGGED_IN_ACTIVE,
+ LoginState::LOGGED_IN_USER_OWNER);
+
+ EXPECT_EQ(1u, GetNewLoginStateChangesCount());
+ EXPECT_TRUE(LoginState::Get()->IsUserLoggedIn());
+ EXPECT_EQ(LoginState::LOGGED_IN_USER_OWNER, logged_in_user_type_);
+ EXPECT_EQ(LoginState::LOGGED_IN_USER_OWNER,
+ LoginState::Get()->GetLoggedInUserType());
+}
+
} // namespace chromeos