| Index: chrome/browser/ui/webui/chromeos/login/signin_userlist_unittest.cc
|
| diff --git a/chrome/browser/ui/webui/chromeos/login/signin_userlist_unittest.cc b/chrome/browser/ui/webui/chromeos/login/signin_userlist_unittest.cc
|
| index 198f10bc2ae0ea4af74d0f551eb6928773630c41..a6caeccad0fe7643c715bb10de010338690da167 100644
|
| --- a/chrome/browser/ui/webui/chromeos/login/signin_userlist_unittest.cc
|
| +++ b/chrome/browser/ui/webui/chromeos/login/signin_userlist_unittest.cc
|
| @@ -15,8 +15,15 @@
|
|
|
| namespace {
|
|
|
| +const size_t kMaxUsers = 18; // same as in user_selection_screen.cc
|
| const char* kOwner = "owner@gmail.com";
|
| -const char* kUsers[] = {"a@gmail.com", "b@gmail.com", kOwner};
|
| +const char* kUsersPublic[] = {"public0@gmail.com", "public1@gmail.com"};
|
| +const char* kUsers[] = {
|
| + "a0@gmail.com", "a1@gmail.com", "a2@gmail.com", "a3@gmail.com",
|
| + "a4@gmail.com", "a5@gmail.com", "a6@gmail.com", "a7@gmail.com",
|
| + "a8@gmail.com", "a9@gmail.com", "a10@gmail.com", "a11@gmail.com",
|
| + "a12@gmail.com", "a13@gmail.com", "a14@gmail.com", "a15@gmail.com",
|
| + "a16@gmail.com", "a17@gmail.com", kOwner, "a18@gmail.com"};
|
|
|
| } // namespace
|
|
|
| @@ -42,11 +49,13 @@ class SigninPrepareUserListTest
|
| this, TestingBrowserProcess::GetGlobal()->local_state()));
|
| fake_user_manager_->set_multi_profile_user_controller(controller_.get());
|
|
|
| - for (size_t i = 0; i < arraysize(kUsers); ++i) {
|
| - const std::string user_email(kUsers[i]);
|
| - fake_user_manager_->AddUser(user_email);
|
| - }
|
| - fake_user_manager_->set_owner_email(kUsers[2]);
|
| + for (size_t i = 0; i < arraysize(kUsersPublic); ++i)
|
| + fake_user_manager_->AddPublicAccountUser(kUsersPublic[i]);
|
| +
|
| + for (size_t i = 0; i < arraysize(kUsers); ++i)
|
| + fake_user_manager_->AddUser(kUsers[i]);
|
| +
|
| + fake_user_manager_->set_owner_email(kOwner);
|
| }
|
|
|
| virtual void TearDown() OVERRIDE {
|
| @@ -68,14 +77,44 @@ class SigninPrepareUserListTest
|
| DISALLOW_COPY_AND_ASSIGN(SigninPrepareUserListTest);
|
| };
|
|
|
| -TEST_F(SigninPrepareUserListTest, BasicList) {
|
| +TEST_F(SigninPrepareUserListTest, AlwaysKeepOwnerInList) {
|
| + EXPECT_LT(kMaxUsers, fake_user_manager_->GetUsers().size());
|
| + UserList users_to_send = UserSelectionScreen::PrepareUserListForSending(
|
| + fake_user_manager_->GetUsers(),
|
| + kOwner,
|
| + true /* is signin to add */);
|
| +
|
| + EXPECT_EQ(kMaxUsers, users_to_send.size());
|
| + EXPECT_EQ(kOwner, users_to_send.back()->email());
|
| +
|
| + fake_user_manager_->RemoveUserFromList("a16@gmail.com");
|
| + fake_user_manager_->RemoveUserFromList("a17@gmail.com");
|
| + users_to_send = UserSelectionScreen::PrepareUserListForSending(
|
| + fake_user_manager_->GetUsers(),
|
| + kOwner,
|
| + true /* is signin to add */);
|
| +
|
| + EXPECT_EQ(kMaxUsers, users_to_send.size());
|
| + EXPECT_EQ("a18@gmail.com", users_to_send.back()->email());
|
| + EXPECT_EQ(kOwner, users_to_send[kMaxUsers-2]->email());
|
| +}
|
| +
|
| +TEST_F(SigninPrepareUserListTest, PublicAccounts) {
|
| UserList users_to_send = UserSelectionScreen::PrepareUserListForSending(
|
| fake_user_manager_->GetUsers(),
|
| kOwner,
|
| true /* is signin to add */);
|
|
|
| - size_t list_length = 3;
|
| - EXPECT_EQ(list_length, users_to_send.size());
|
| + EXPECT_EQ(kMaxUsers, users_to_send.size());
|
| + EXPECT_EQ("a0@gmail.com", users_to_send.front()->email());
|
| +
|
| + users_to_send = UserSelectionScreen::PrepareUserListForSending(
|
| + fake_user_manager_->GetUsers(),
|
| + kOwner,
|
| + false /* is signin to add */);
|
| +
|
| + EXPECT_EQ(kMaxUsers, users_to_send.size());
|
| + EXPECT_EQ("public0@gmail.com", users_to_send.front()->email());
|
| }
|
|
|
| } // namespace chromeos
|
|
|