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

Side by Side Diff: chrome/browser/ui/cocoa/notifications/notification_builder_mac_unittest.mm

Issue 2065943002: Abstract notification clicks in its own dictionary (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #import <AppKit/AppKit.h> 5 #import <AppKit/AppKit.h>
6 6
7 #include "base/mac/foundation_util.h" 7 #include "base/mac/foundation_util.h"
8 #include "base/mac/scoped_nsobject.h" 8 #include "base/mac/scoped_nsobject.h"
9 #include "base/strings/sys_string_conversions.h" 9 #include "base/strings/sys_string_conversions.h"
10 #include "chrome/browser/ui/cocoa/notifications/notification_builder_mac.h" 10 #include "chrome/browser/ui/cocoa/notifications/notification_builder_mac.h"
11 #include "chrome/browser/ui/cocoa/notifications/notification_constants_mac.h"
Peter Beverloo 2016/06/16 17:02:43 You use #include for this file here, #import elsew
Miguel Garcia 2016/06/17 17:53:08 Should be include everywhere since it's a c++ file
11 #include "testing/gtest/include/gtest/gtest.h" 12 #include "testing/gtest/include/gtest/gtest.h"
12 13
13 TEST(NotificationBuilderMacTest, TestNotificationNoButtons) { 14 TEST(NotificationBuilderMacTest, TestNotificationNoButtons) {
14 base::scoped_nsobject<NotificationBuilder> builder( 15 base::scoped_nsobject<NotificationBuilder> builder(
15 [[NotificationBuilder alloc] init]); 16 [[NotificationBuilder alloc] init]);
16 [builder setTitle:@"Title"]; 17 [builder setTitle:@"Title"];
17 [builder setSubTitle:@"https://www.miguel.com"]; 18 [builder setSubTitle:@"https://www.miguel.com"];
18 [builder setContextMessage:@""]; 19 [builder setContextMessage:@""];
19 [builder setTag:@"tag1"]; 20 [builder setTag:@"tag1"];
20 [builder setIcon:[NSImage imageNamed:@"NSApplicationIcon"]]; 21 [builder setIcon:[NSImage imageNamed:@"NSApplicationIcon"]];
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
108 [builder setNotificationId:@"Notification1"]; 109 [builder setNotificationId:@"Notification1"];
109 [builder setIncognito:true]; 110 [builder setIncognito:true];
110 111
111 NSUserNotification* notification = [builder buildUserNotification]; 112 NSUserNotification* notification = [builder buildUserNotification];
112 EXPECT_EQ("Title", base::SysNSStringToUTF8([notification title])); 113 EXPECT_EQ("Title", base::SysNSStringToUTF8([notification title]));
113 114
114 NSDictionary* userInfo = [notification userInfo]; 115 NSDictionary* userInfo = [notification userInfo];
115 116
116 EXPECT_EQ("https://www.miguel.com", 117 EXPECT_EQ("https://www.miguel.com",
117 base::SysNSStringToUTF8([userInfo 118 base::SysNSStringToUTF8([userInfo
118 objectForKey:notification_builder::kNotificationOrigin])); 119 objectForKey:notification_constants::kNotificationOrigin]));
119 EXPECT_EQ("Notification1", 120 EXPECT_EQ("Notification1",
120 base::SysNSStringToUTF8( 121 base::SysNSStringToUTF8([userInfo
121 [userInfo objectForKey:notification_builder::kNotificationId])); 122 objectForKey:notification_constants::kNotificationId]));
122 EXPECT_EQ("Profile1", 123 EXPECT_EQ("Profile1",
123 base::SysNSStringToUTF8([userInfo 124 base::SysNSStringToUTF8([userInfo
124 objectForKey:notification_builder::kNotificationProfileId])); 125 objectForKey:notification_constants::kNotificationProfileId]));
125 EXPECT_TRUE([[userInfo 126 EXPECT_TRUE([[userInfo
126 objectForKey:notification_builder::kNotificationIncognito] boolValue]); 127 objectForKey:notification_constants::kNotificationIncognito] boolValue]);
127 } 128 }
128 129
129 TEST(NotificationBuilderMacTest, TestBuildDictionary) { 130 TEST(NotificationBuilderMacTest, TestBuildDictionary) {
130 NSDictionary* notificationData; 131 NSDictionary* notificationData;
131 { 132 {
132 base::scoped_nsobject<NotificationBuilder> sourceBuilder( 133 base::scoped_nsobject<NotificationBuilder> sourceBuilder(
133 [[NotificationBuilder alloc] init]); 134 [[NotificationBuilder alloc] init]);
134 [sourceBuilder setTitle:@"Title"]; 135 [sourceBuilder setTitle:@"Title"];
135 [sourceBuilder setSubTitle:@"https://www.miguel.com"]; 136 [sourceBuilder setSubTitle:@"https://www.miguel.com"];
136 [sourceBuilder setContextMessage:@"SubTitle"]; 137 [sourceBuilder setContextMessage:@"SubTitle"];
137 [sourceBuilder setNotificationId:@"notificationId"]; 138 [sourceBuilder setNotificationId:@"notificationId"];
138 [sourceBuilder setProfileId:@"profileId"]; 139 [sourceBuilder setProfileId:@"profileId"];
139 [sourceBuilder setIncognito:false]; 140 [sourceBuilder setIncognito:false];
140 notificationData = [sourceBuilder buildDictionary]; 141 notificationData = [sourceBuilder buildDictionary];
141 } 142 }
142 base::scoped_nsobject<NotificationBuilder> finalBuilder( 143 base::scoped_nsobject<NotificationBuilder> finalBuilder(
143 [[NotificationBuilder alloc] initWithDictionary:notificationData]); 144 [[NotificationBuilder alloc] initWithDictionary:notificationData]);
144 145
145 NSUserNotification* notification = [finalBuilder buildUserNotification]; 146 NSUserNotification* notification = [finalBuilder buildUserNotification];
146 147
147 EXPECT_EQ("Title", base::SysNSStringToUTF8([notification title])); 148 EXPECT_EQ("Title", base::SysNSStringToUTF8([notification title]));
148 EXPECT_EQ("SubTitle", 149 EXPECT_EQ("SubTitle",
149 base::SysNSStringToUTF8([notification informativeText])); 150 base::SysNSStringToUTF8([notification informativeText]));
150 EXPECT_EQ("https://www.miguel.com", 151 EXPECT_EQ("https://www.miguel.com",
151 base::SysNSStringToUTF8([notification subtitle])); 152 base::SysNSStringToUTF8([notification subtitle]));
152 } 153 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698