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

Unified Diff: chrome/browser/ui/cocoa/autofill/autofill_notification_controller_unittest.mm

Issue 54303007: [rAc OSX] Add support for tooltips in notifications. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 7 years, 1 month 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/ui/cocoa/autofill/autofill_notification_controller.mm ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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:&notification]);
+ [[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]);
+}
« no previous file with comments | « chrome/browser/ui/cocoa/autofill/autofill_notification_controller.mm ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698