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

Unified Diff: chrome/browser/ui/cocoa/notifications/notification_builder_mac_unittest.mm

Issue 2799343003: Add support for native extension notifications (Closed)
Patch Set: Remove dependent CL to land standalone Created 3 years, 8 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
Index: chrome/browser/ui/cocoa/notifications/notification_builder_mac_unittest.mm
diff --git a/chrome/browser/ui/cocoa/notifications/notification_builder_mac_unittest.mm b/chrome/browser/ui/cocoa/notifications/notification_builder_mac_unittest.mm
index ee12b3dc48902be8ef25422886ad2979cf28434a..0c4babb0f13253771e4f89e0136aea851abf9947 100644
--- a/chrome/browser/ui/cocoa/notifications/notification_builder_mac_unittest.mm
+++ b/chrome/browser/ui/cocoa/notifications/notification_builder_mac_unittest.mm
@@ -27,6 +27,7 @@ TEST(NotificationBuilderMacTest, TestNotificationNoButtons) {
[builder setIncognito:false];
[builder setNotificationType:
[NSNumber numberWithInt:NotificationCommon::NON_PERSISTENT]];
+ [builder setShowSettingsButton:true];
NSUserNotification* notification = [builder buildUserNotification];
EXPECT_EQ("Title", base::SysNSStringToUTF8([notification title]));
@@ -57,6 +58,7 @@ TEST(NotificationBuilderMacTest, TestNotificationOneButton) {
[builder
setNotificationType:[NSNumber
numberWithInt:NotificationCommon::PERSISTENT]];
+ [builder setShowSettingsButton:true];
NSUserNotification* notification = [builder buildUserNotification];
@@ -93,6 +95,7 @@ TEST(NotificationBuilderMacTest, TestNotificationTwoButtons) {
[builder
setNotificationType:[NSNumber
numberWithInt:NotificationCommon::PERSISTENT]];
+ [builder setShowSettingsButton:true];
NSUserNotification* notification = [builder buildUserNotification];
@@ -115,6 +118,55 @@ TEST(NotificationBuilderMacTest, TestNotificationTwoButtons) {
EXPECT_EQ("Settings", base::SysNSStringToUTF8([buttons objectAtIndex:2]));
}
+TEST(NotificationBuilderMacTest, TestNotificationExtensionNoButtons) {
+ base::scoped_nsobject<NotificationBuilder> builder(
+ [[NotificationBuilder alloc] initWithCloseLabel:@"Close"
+ optionsLabel:@"Options"
+ settingsLabel:@"Settings"]);
+ [builder setTitle:@"Title"];
+ [builder setSubTitle:@"https://www.miguel.com"];
+ [builder setContextMessage:@"SubTitle"];
+ [builder setNotificationId:@"notificationId"];
+ [builder setProfileId:@"profileId"];
+ [builder setIncognito:false];
+ [builder
+ setNotificationType:[NSNumber
+ numberWithInt:NotificationCommon::EXTENSION]];
+ [builder setShowSettingsButton:false];
+
+ NSUserNotification* notification = [builder buildUserNotification];
+
+ EXPECT_FALSE(notification.hasActionButton);
+ EXPECT_EQ("Close", base::SysNSStringToUTF8([notification otherButtonTitle]));
+}
+
+TEST(NotificationBuilderMacTest, TestNotificationExtensionButtons) {
+ base::scoped_nsobject<NotificationBuilder> builder(
+ [[NotificationBuilder alloc] initWithCloseLabel:@"Close"
+ optionsLabel:@"Options"
+ settingsLabel:@"Settings"]);
+ [builder setTitle:@"Title"];
+ [builder setSubTitle:@"https://www.miguel.com"];
+ [builder setContextMessage:@"SubTitle"];
+ [builder setButtons:@"Button1" secondaryButton:@"Button2"];
+ [builder setNotificationId:@"notificationId"];
+ [builder setProfileId:@"profileId"];
+ [builder setIncognito:false];
+ [builder
+ setNotificationType:[NSNumber
+ numberWithInt:NotificationCommon::EXTENSION]];
+ [builder setShowSettingsButton:false];
+
+ NSUserNotification* notification = [builder buildUserNotification];
+
+ NSArray* buttons = [notification valueForKey:@"_alternateActionButtonTitles"];
+
+ // No settings button
+ ASSERT_EQ(2u, buttons.count);
+ EXPECT_EQ("Button1", base::SysNSStringToUTF8([buttons objectAtIndex:0]));
+ EXPECT_EQ("Button2", base::SysNSStringToUTF8([buttons objectAtIndex:1]));
+}
+
TEST(NotificationBuilderMacTest, TestUserInfo) {
base::scoped_nsobject<NotificationBuilder> builder(
[[NotificationBuilder alloc] initWithCloseLabel:@"Close"
@@ -128,6 +180,7 @@ TEST(NotificationBuilderMacTest, TestUserInfo) {
[builder
setNotificationType:[NSNumber
numberWithInt:NotificationCommon::PERSISTENT]];
+ [builder setShowSettingsButton:true];
NSUserNotification* notification = [builder buildUserNotification];
EXPECT_EQ("Title", base::SysNSStringToUTF8([notification title]));
@@ -163,6 +216,7 @@ TEST(NotificationBuilderMacTest, TestBuildDictionary) {
[sourceBuilder
setNotificationType:
[NSNumber numberWithInt:NotificationCommon::NON_PERSISTENT]];
+ [sourceBuilder setShowSettingsButton:true];
notificationData = [sourceBuilder buildDictionary];
}

Powered by Google App Engine
This is Rietveld 408576698