| Index: chrome/browser/ui/cocoa/profiles/profile_chooser_controller_unittest.mm
|
| diff --git a/chrome/browser/ui/cocoa/profiles/profile_chooser_controller_unittest.mm b/chrome/browser/ui/cocoa/profiles/profile_chooser_controller_unittest.mm
|
| index e253775477040c76e2ead163752693b06422b016..d0df2bd1a58959f83a14b7a7e55b6e17d0e9693c 100644
|
| --- a/chrome/browser/ui/cocoa/profiles/profile_chooser_controller_unittest.mm
|
| +++ b/chrome/browser/ui/cocoa/profiles/profile_chooser_controller_unittest.mm
|
| @@ -451,3 +451,69 @@ TEST_F(ProfileChooserControllerTest, AccountManagementLayout) {
|
| EXPECT_EQ(@selector(hideAccountManagement:), [link action]);
|
| EXPECT_EQ(controller(), [link target]);
|
| }
|
| +
|
| +TEST_F(ProfileChooserControllerTest,
|
| + SignedInProfileLockDisabled) {
|
| + switches::EnableNewProfileManagementForTesting(
|
| + CommandLine::ForCurrentProcess());
|
| + // Sign in the first profile.
|
| + ProfileInfoCache* cache = testing_profile_manager()->profile_info_cache();
|
| + cache->SetUserNameOfProfileAtIndex(0, base::ASCIIToUTF16(kEmail));
|
| + cache->SetLocalAuthCredentialsOfProfileAtIndex(0, "");
|
| +
|
| + StartProfileChooserController();
|
| + NSArray* subviews = [[[controller() window] contentView] subviews];
|
| + ASSERT_EQ(1U, [subviews count]);
|
| + subviews = [[subviews objectAtIndex:0] subviews];
|
| +
|
| + // Three profiles means we should have one active card, one separator, one
|
| + // option buttons view and a lock view. We also have an update promo for the
|
| + // new avatar menu.
|
| + // TODO(noms): Enforcing 5U fails on the waterfall debug bots, but it's not
|
| + // reproducible anywhere else.
|
| + ASSERT_GE([subviews count], 4U);
|
| +
|
| + // There will be three buttons and two separators in the option buttons view.
|
| + NSArray* buttonSubviews = [[subviews objectAtIndex:0] subviews];
|
| + ASSERT_EQ(5U, [buttonSubviews count]);
|
| +
|
| + // There should be an lock button.
|
| + NSButton* lockButton =
|
| + base::mac::ObjCCast<NSButton>([buttonSubviews objectAtIndex:0]);
|
| + EXPECT_EQ(@selector(lockProfile:), [lockButton action]);
|
| + EXPECT_EQ(controller(), [lockButton target]);
|
| + EXPECT_FALSE([lockButton isEnabled]);
|
| +}
|
| +
|
| +TEST_F(ProfileChooserControllerTest,
|
| + SignedInProfileLockEnabled) {
|
| + switches::EnableNewProfileManagementForTesting(
|
| + CommandLine::ForCurrentProcess());
|
| + // Sign in the first profile.
|
| + ProfileInfoCache* cache = testing_profile_manager()->profile_info_cache();
|
| + cache->SetUserNameOfProfileAtIndex(0, base::ASCIIToUTF16(kEmail));
|
| + cache->SetLocalAuthCredentialsOfProfileAtIndex(0, "YourHashHere");
|
| +
|
| + StartProfileChooserController();
|
| + NSArray* subviews = [[[controller() window] contentView] subviews];
|
| + ASSERT_EQ(1U, [subviews count]);
|
| + subviews = [[subviews objectAtIndex:0] subviews];
|
| +
|
| + // Three profiles means we should have one active card, one separator, one
|
| + // option buttons view and a lock view. We also have an update promo for the
|
| + // new avatar menu.
|
| + // TODO(noms): Enforcing 5U fails on the waterfall debug bots, but it's not
|
| + // reproducible anywhere else.
|
| + ASSERT_GE([subviews count], 4U);
|
| +
|
| + // There will be three buttons and two separators in the option buttons view.
|
| + NSArray* buttonSubviews = [[subviews objectAtIndex:0] subviews];
|
| + ASSERT_EQ(5U, [buttonSubviews count]);
|
| +
|
| + // There should be an lock button.
|
| + NSButton* lockButton =
|
| + base::mac::ObjCCast<NSButton>([buttonSubviews objectAtIndex:0]);
|
| + EXPECT_EQ(@selector(lockProfile:), [lockButton action]);
|
| + EXPECT_EQ(controller(), [lockButton target]);
|
| + EXPECT_TRUE([lockButton isEnabled]);
|
| +}
|
|
|