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 |