| Index: chrome/browser/ui/ash/session_state_delegate_chromeos_unittest.cc
|
| diff --git a/chrome/browser/ui/ash/session_state_delegate_chromeos_unittest.cc b/chrome/browser/ui/ash/session_state_delegate_chromeos_unittest.cc
|
| index ec1fff78a5c569bdbb1e85723b3e4be866e62eac..4790521e7f26b5f4c681c3a46652679db96d6b86 100644
|
| --- a/chrome/browser/ui/ash/session_state_delegate_chromeos_unittest.cc
|
| +++ b/chrome/browser/ui/ash/session_state_delegate_chromeos_unittest.cc
|
| @@ -229,4 +229,63 @@ TEST_F(SessionStateDelegateChromeOSTest,
|
| base::RunLoop().RunUntilIdle();
|
| }
|
|
|
| +// Make sure adding users to multiprofiles disabled by reaching maximum
|
| +// number of users in sessions.
|
| +TEST_F(SessionStateDelegateChromeOSTest,
|
| + AddUserToMultiprofileDisallowedByMaximumUsers) {
|
| + InitForMultiProfile();
|
| + ash::SessionStateDelegate::AddUserError add_user_error;
|
| +
|
| + EXPECT_TRUE(
|
| + session_state_delegate()->CanAddUserToMultiProfile(&add_user_error));
|
| + const std::string user_email(kUser);
|
| + user_manager()->LoginUser(user_email);
|
| + while (session_state_delegate()->NumberOfLoggedInUsers() <
|
| + session_state_delegate()->GetMaximumNumberOfLoggedInUsers()) {
|
| + UserAddedToSession("bb@b.b");
|
| + }
|
| + EXPECT_FALSE(
|
| + session_state_delegate()->CanAddUserToMultiProfile(&add_user_error));
|
| + EXPECT_EQ(ash::SessionStateDelegate::ADD_USER_ERROR_MAXIMUM_USERS_REACHED,
|
| + add_user_error);
|
| +}
|
| +
|
| +// Make sure adding users to multiprofiles disabled by logging in all possible
|
| +// users.
|
| +TEST_F(SessionStateDelegateChromeOSTest,
|
| + AddUserToMultiprofileDisallowedByAllUsersLogged) {
|
| + InitForMultiProfile();
|
| + ash::SessionStateDelegate::AddUserError add_user_error;
|
| +
|
| + EXPECT_TRUE(
|
| + session_state_delegate()->CanAddUserToMultiProfile(&add_user_error));
|
| + const std::string user_email(kUser);
|
| + user_manager()->LoginUser(user_email);
|
| + UserAddedToSession("bb@b.b");
|
| + EXPECT_FALSE(
|
| + session_state_delegate()->CanAddUserToMultiProfile(&add_user_error));
|
| + EXPECT_EQ(ash::SessionStateDelegate::ADD_USER_ERROR_OUT_OF_USERS,
|
| + add_user_error);
|
| +}
|
| +
|
| +// Make sure adding users to multiprofiles disabled by primary user policy.
|
| +TEST_F(SessionStateDelegateChromeOSTest,
|
| + AddUserToMultiprofileDisallowedByPrimaryUserPolicy) {
|
| + InitForMultiProfile();
|
| + ash::SessionStateDelegate::AddUserError add_user_error;
|
| +
|
| + EXPECT_TRUE(
|
| + session_state_delegate()->CanAddUserToMultiProfile(&add_user_error));
|
| + const std::string user_email(kUser);
|
| + user_manager()->LoginUser(user_email);
|
| + user_profile_->GetPrefs()->SetString(
|
| + prefs::kMultiProfileUserBehavior,
|
| + chromeos::MultiProfileUserController::kBehaviorNotAllowed);
|
| + user_manager()->AddUser("bb@b.b");
|
| + EXPECT_FALSE(
|
| + session_state_delegate()->CanAddUserToMultiProfile(&add_user_error));
|
| + EXPECT_EQ(ash::SessionStateDelegate::ADD_USER_ERROR_NOT_ALLOWED_PRIMARY_USER,
|
| + add_user_error);
|
| +}
|
| +
|
| } // namespace chromeos
|
|
|