Index: chromeos/login/login_state_unittest.cc |
diff --git a/chromeos/login/login_state_unittest.cc b/chromeos/login/login_state_unittest.cc |
index 431b419ee01f0fb0c9d6a33e732a95c426629d3d..50dfdb6e12cd9442d16fd3bfcbb0be579d4ac21a 100644 |
--- a/chromeos/login/login_state_unittest.cc |
+++ b/chromeos/login/login_state_unittest.cc |
@@ -9,6 +9,10 @@ |
#include "chromeos/chromeos_switches.h" |
#include "testing/gtest/include/gtest/gtest.h" |
+namespace { |
+const char kTestUserHash[] = "testuserhash"; |
+} // namespace |
+ |
namespace chromeos { |
class LoginStateTest : public testing::Test, |
@@ -124,4 +128,26 @@ TEST_F(LoginStateTest, TestLoggedInStateChangedObserverOnUserTypeChange) { |
LoginState::Get()->GetLoggedInUserType()); |
} |
+TEST_F(LoginStateTest, TestPrimaryUser) { |
+ EXPECT_FALSE(LoginState::Get()->IsUserLoggedIn()); |
+ EXPECT_FALSE(LoginState::Get()->IsInSafeMode()); |
+ EXPECT_EQ(LoginState::LOGGED_IN_USER_NONE, logged_in_user_type_); |
+ EXPECT_EQ(LoginState::LOGGED_IN_USER_NONE, |
+ LoginState::Get()->GetLoggedInUserType()); |
+ |
+ // Setting login state to ACTIVE and setting the primary user. |
+ LoginState::Get()->SetLoggedInStateAndPrimaryUser( |
+ LoginState::LOGGED_IN_ACTIVE, |
+ LoginState::LOGGED_IN_USER_REGULAR, |
+ kTestUserHash); |
+ EXPECT_EQ(LoginState::LOGGED_IN_USER_REGULAR, |
+ LoginState::Get()->GetLoggedInUserType()); |
+ EXPECT_TRUE(LoginState::Get()->IsUserLoggedIn()); |
+ EXPECT_FALSE(LoginState::Get()->IsInSafeMode()); |
+ EXPECT_EQ(kTestUserHash, LoginState::Get()->primary_user_hash()); |
+ |
+ EXPECT_EQ(1U, GetNewLoginStateChangesCount()); |
+ EXPECT_EQ(LoginState::LOGGED_IN_USER_REGULAR, logged_in_user_type_); |
+} |
+ |
} // namespace chromeos |