Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1552)

Unified Diff: chrome/browser/ui/webui/chromeos/login/signin_userlist_unittest.cc

Issue 369833002: Tests added for user-listing on sign-in screen. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Delete added. Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/chromeos/login/users/fake_user_manager.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« no previous file with comments | « chrome/browser/chromeos/login/users/fake_user_manager.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698