Index: chrome/browser/chromeos/login/users/user_manager_unittest.cc |
diff --git a/chrome/browser/chromeos/login/users/user_manager_unittest.cc b/chrome/browser/chromeos/login/users/user_manager_unittest.cc |
index b914a98b601b7b72784b486ac5ffeb4383f8c1b5..f5273f15f1ed9a1d1c76c95e1c8e10d6784505d7 100644 |
--- a/chrome/browser/chromeos/login/users/user_manager_unittest.cc |
+++ b/chrome/browser/chromeos/login/users/user_manager_unittest.cc |
@@ -240,4 +240,36 @@ TEST_F(UserManagerTest, ScreenLockAvailability) { |
ResetUserManager(); |
} |
+TEST_F(UserManagerTest, SessionInitialized) { |
+ user_manager::UserManager::Get()->UserLoggedIn( |
+ owner_account_id_at_invalid_domain_, |
+ owner_account_id_at_invalid_domain_.GetUserEmail(), false); |
+ const user_manager::UserList* users = |
+ &user_manager::UserManager::Get()->GetUsers(); |
+ ASSERT_EQ(1U, users->size()); |
+ EXPECT_FALSE((*users)[0]->session_initialized()); |
+ ResetUserManager(); |
+ users = &user_manager::UserManager::Get()->GetUsers(); |
+ ASSERT_EQ(1U, users->size()); |
+ EXPECT_FALSE((*users)[0]->session_initialized()); |
+} |
+ |
+TEST_F(UserManagerTest, SessionInitializedMigration) { |
+ user_manager::UserManager::Get()->UserLoggedIn( |
+ owner_account_id_at_invalid_domain_, |
+ owner_account_id_at_invalid_domain_.GetUserEmail(), false); |
+ const user_manager::UserList* users = |
+ &user_manager::UserManager::Get()->GetUsers(); |
+ ASSERT_EQ(1U, users->size()); |
+ EXPECT_FALSE((*users)[0]->session_initialized()); |
+ |
+ // Clear the stored user data - when UserManager loads again, it should |
+ // migrate existing users by setting session_initialized to true for them. |
+ local_state_->Get()->ClearPref("UserSessionInitialized"); |
+ ResetUserManager(); |
+ users = &user_manager::UserManager::Get()->GetUsers(); |
+ ASSERT_EQ(1U, users->size()); |
+ EXPECT_TRUE((*users)[0]->session_initialized()); |
+} |
+ |
} // namespace chromeos |