Chromium Code Reviews| 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..6c539c5ff0f780001eaefe8d2a3094c2bf5ea440 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,65 @@ 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::MultiProfileAddUserError 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:: |
| + MULTIPROFILE_ADD_USER_ERROR_MAXIMUM_OF_USERS_REACHED, |
| + add_user_error); |
| +} |
| + |
| +// Make sure adding users to multiprofiles disabled by logging all possible |
|
James Cook
2014/09/23 16:02:12
nit: "logging" -> "logging in"
Roman Sorokin (ftl)
2014/09/24 08:30:47
Done.
|
| +// users. |
| +TEST_F(SessionStateDelegateChromeOSTest, |
| + AddUserToMultiprofileDisallowedByAllUsersLogged) { |
| + InitForMultiProfile(); |
| + ash::SessionStateDelegate::MultiProfileAddUserError 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::MULTIPROFILE_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::MultiProfileAddUserError 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:: |
| + MULTIPROFILE_ADD_USER_ERROR_NOT_ALLOWED_PRIMARY_USER, |
| + add_user_error); |
| +} |
|
James Cook
2014/09/23 16:02:12
Nice test suite!
Roman Sorokin (ftl)
2014/09/24 08:30:47
Acknowledged.
|
| + |
| } // namespace chromeos |