OLD | NEW |
---|---|
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 Loading... | |
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 } |
OLD | NEW |