| Index: chrome/browser/ui/cocoa/autofill/autofill_notification_controller_unittest.mm
|
| diff --git a/chrome/browser/ui/cocoa/autofill/autofill_notification_controller_unittest.mm b/chrome/browser/ui/cocoa/autofill/autofill_notification_controller_unittest.mm
|
| index f353b03a54f524a5740ede72fc0ce7dfa9386549..f38a1e116f2dc38f35694766918727bf1cb4e2ef 100644
|
| --- a/chrome/browser/ui/cocoa/autofill/autofill_notification_controller_unittest.mm
|
| +++ b/chrome/browser/ui/cocoa/autofill/autofill_notification_controller_unittest.mm
|
| @@ -5,6 +5,8 @@
|
| #import "chrome/browser/ui/cocoa/autofill/autofill_notification_controller.h"
|
|
|
| #include "base/mac/scoped_nsobject.h"
|
| +#include "base/strings/utf_string_conversions.h"
|
| +#include "chrome/browser/ui/autofill/autofill_dialog_types.h"
|
| #include "testing/gtest_mac.h"
|
| #import "ui/base/test/ui_cocoa_test_helper.h"
|
|
|
| @@ -14,8 +16,17 @@ class AutofillNotificationControllerTest : public ui::CocoaTest {
|
| public:
|
| virtual void SetUp() {
|
| CocoaTest::SetUp();
|
| - controller_.reset([[AutofillNotificationController alloc] init]);
|
| - [[test_window() contentView] addSubview:[controller_ view]];
|
| + InitControllerWithNotification(
|
| + autofill::DialogNotification(autofill::DialogNotification::NONE,
|
| + ASCIIToUTF16("A notification title")));
|
| + }
|
| +
|
| + void InitControllerWithNotification(
|
| + const autofill::DialogNotification& notification) {
|
| + controller_.reset(
|
| + [[AutofillNotificationController alloc]
|
| + initWithNotification:¬ification]);
|
| + [[test_window() contentView] setSubviews:@[[controller_ view]]];
|
| }
|
|
|
| protected:
|
| @@ -28,16 +39,72 @@ TEST_VIEW(AutofillNotificationControllerTest, [controller_ view])
|
|
|
| TEST_F(AutofillNotificationControllerTest, Subviews) {
|
| NSView* view = [controller_ view];
|
| - ASSERT_EQ(2U, [[view subviews] count]);
|
| + ASSERT_EQ(3U, [[view subviews] count]);
|
| EXPECT_TRUE([[[view subviews] objectAtIndex:0] isKindOfClass:
|
| [NSTextField class]]);
|
| EXPECT_TRUE([[[view subviews] objectAtIndex:1] isKindOfClass:
|
| [NSButton class]]);
|
| + EXPECT_TRUE([[[view subviews] objectAtIndex:2] isKindOfClass:
|
| + [NSImageView class]]);
|
| EXPECT_NSEQ([controller_ textfield],
|
| [[view subviews] objectAtIndex:0]);
|
| EXPECT_NSEQ([controller_ checkbox],
|
| [[view subviews] objectAtIndex:1]);
|
| + EXPECT_NSEQ([controller_ tooltipIcon],
|
| + [[view subviews] objectAtIndex:2]);
|
|
|
| // Just to exercise the code path.
|
| [controller_ performLayout];
|
| }
|
| +
|
| +TEST_F(AutofillNotificationControllerTest, TextLabelOnly) {
|
| + InitControllerWithNotification(
|
| + autofill::DialogNotification(
|
| + autofill::DialogNotification::DEVELOPER_WARNING,
|
| + ASCIIToUTF16("A notification title")));
|
| +
|
| + EXPECT_FALSE([[controller_ textfield] isHidden]);
|
| + EXPECT_TRUE([[controller_ checkbox] isHidden]);
|
| + EXPECT_TRUE([[controller_ tooltipIcon] isHidden]);
|
| +}
|
| +
|
| +TEST_F(AutofillNotificationControllerTest, CheckboxOnly) {
|
| + autofill::DialogNotification notification(
|
| + autofill::DialogNotification::WALLET_USAGE_CONFIRMATION,
|
| + ASCIIToUTF16("A notification title"));
|
| + ASSERT_TRUE(notification.HasCheckbox());
|
| + InitControllerWithNotification(notification);
|
| +
|
| + EXPECT_TRUE([[controller_ textfield] isHidden]);
|
| + EXPECT_FALSE([[controller_ checkbox] isHidden]);
|
| + EXPECT_TRUE([[controller_ tooltipIcon] isHidden]);
|
| +}
|
| +
|
| +TEST_F(AutofillNotificationControllerTest, TextLabelAndTooltip) {
|
| + autofill::DialogNotification notification(
|
| + autofill::DialogNotification::DEVELOPER_WARNING,
|
| + ASCIIToUTF16("A notification title"));
|
| + notification.set_tooltip_text(ASCIIToUTF16("My very informative tooltip."));
|
| + InitControllerWithNotification(notification);
|
| +
|
| + EXPECT_FALSE([[controller_ textfield] isHidden]);
|
| + EXPECT_TRUE([[controller_ checkbox] isHidden]);
|
| + EXPECT_FALSE([[controller_ tooltipIcon] isHidden]);
|
| + EXPECT_NSEQ(@"My very informative tooltip.",
|
| + [[controller_ tooltipIcon] toolTip]);
|
| +}
|
| +
|
| +TEST_F(AutofillNotificationControllerTest, CheckboxAndTooltip) {
|
| + autofill::DialogNotification notification(
|
| + autofill::DialogNotification::WALLET_USAGE_CONFIRMATION,
|
| + ASCIIToUTF16("A notification title"));
|
| + ASSERT_TRUE(notification.HasCheckbox());
|
| + notification.set_tooltip_text(ASCIIToUTF16("My very informative tooltip."));
|
| + InitControllerWithNotification(notification);
|
| +
|
| + EXPECT_TRUE([[controller_ textfield] isHidden]);
|
| + EXPECT_FALSE([[controller_ checkbox] isHidden]);
|
| + EXPECT_FALSE([[controller_ tooltipIcon] isHidden]);
|
| + EXPECT_NSEQ(@"My very informative tooltip.",
|
| + [[controller_ tooltipIcon] toolTip]);
|
| +}
|
|
|