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

Side by Side Diff: ui/message_center/cocoa/notification_controller_unittest.mm

Issue 14631005: Enable users of NotificationUIManager to specify binary images. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove fake image from synced notification, stop checking icon_url in unit test. Created 7 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 (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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 "ui/message_center/cocoa/notification_controller.h" 5 #import "ui/message_center/cocoa/notification_controller.h"
6 6
7 #include "base/mac/foundation_util.h" 7 #include "base/mac/foundation_util.h"
8 #include "base/memory/scoped_nsobject.h" 8 #include "base/memory/scoped_nsobject.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "base/strings/sys_string_conversions.h" 10 #include "base/strings/sys_string_conversions.h"
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
92 } 92 }
93 }; 93 };
94 94
95 TEST_F(NotificationControllerTest, BasicLayout) { 95 TEST_F(NotificationControllerTest, BasicLayout) {
96 scoped_ptr<message_center::Notification> notification( 96 scoped_ptr<message_center::Notification> notification(
97 new message_center::Notification( 97 new message_center::Notification(
98 message_center::NOTIFICATION_TYPE_SIMPLE, 98 message_center::NOTIFICATION_TYPE_SIMPLE,
99 "", 99 "",
100 ASCIIToUTF16("Added to circles"), 100 ASCIIToUTF16("Added to circles"),
101 ASCIIToUTF16("Jonathan and 5 others"), 101 ASCIIToUTF16("Jonathan and 5 others"),
102 gfx::Image(),
102 string16(), 103 string16(),
103 std::string(), 104 std::string(),
104 NULL, 105 NULL,
105 NULL)); 106 NULL));
106 notification->set_icon(gfx::Image([TestIcon() retain])); 107 notification->set_icon(gfx::Image([TestIcon() retain]));
107 108
108 scoped_nsobject<MCNotificationController> controller( 109 scoped_nsobject<MCNotificationController> controller(
109 [[MCNotificationController alloc] initWithNotification:notification.get() 110 [[MCNotificationController alloc] initWithNotification:notification.get()
110 messageCenter:NULL]); 111 messageCenter:NULL]);
111 [controller view]; 112 [controller view];
112 113
113 EXPECT_EQ(TestIcon(), [[controller iconView] image]); 114 EXPECT_EQ(TestIcon(), [[controller iconView] image]);
114 EXPECT_EQ(base::SysNSStringToUTF16([[controller titleView] stringValue]), 115 EXPECT_EQ(base::SysNSStringToUTF16([[controller titleView] stringValue]),
115 notification->title()); 116 notification->title());
116 EXPECT_EQ(base::SysNSStringToUTF16([[controller messageView] stringValue]), 117 EXPECT_EQ(base::SysNSStringToUTF16([[controller messageView] stringValue]),
117 notification->message()); 118 notification->message());
118 EXPECT_EQ(controller.get(), [[controller closeButton] target]); 119 EXPECT_EQ(controller.get(), [[controller closeButton] target]);
119 } 120 }
120 121
121 TEST_F(NotificationControllerTest, OverflowText) { 122 TEST_F(NotificationControllerTest, OverflowText) {
122 scoped_ptr<message_center::Notification> notification( 123 scoped_ptr<message_center::Notification> notification(
123 new message_center::Notification( 124 new message_center::Notification(
124 message_center::NOTIFICATION_TYPE_SIMPLE, 125 message_center::NOTIFICATION_TYPE_SIMPLE,
125 "", 126 "",
126 ASCIIToUTF16("This is a much longer title that should wrap " 127 ASCIIToUTF16("This is a much longer title that should wrap "
127 "multiple lines."), 128 "multiple lines."),
128 ASCIIToUTF16("And even the message is long. This sure is a wordy " 129 ASCIIToUTF16("And even the message is long. This sure is a wordy "
129 "notification. Are you really going to read this " 130 "notification. Are you really going to read this "
130 "entire thing?"), 131 "entire thing?"),
132 gfx::Image(),
131 string16(), 133 string16(),
132 std::string(), 134 std::string(),
133 NULL, 135 NULL,
134 NULL)); 136 NULL));
135 scoped_nsobject<MCNotificationController> controller( 137 scoped_nsobject<MCNotificationController> controller(
136 [[MCNotificationController alloc] initWithNotification:notification.get() 138 [[MCNotificationController alloc] initWithNotification:notification.get()
137 messageCenter:NULL]); 139 messageCenter:NULL]);
138 [controller view]; 140 [controller view];
139 141
140 EXPECT_GT(NSHeight([[controller view] frame]), 142 EXPECT_GT(NSHeight([[controller view] frame]),
141 message_center::kNotificationIconSize); 143 message_center::kNotificationIconSize);
142 } 144 }
143 145
144 TEST_F(NotificationControllerTest, Close) { 146 TEST_F(NotificationControllerTest, Close) {
145 scoped_ptr<message_center::Notification> notification( 147 scoped_ptr<message_center::Notification> notification(
146 new message_center::Notification( 148 new message_center::Notification(
147 message_center::NOTIFICATION_TYPE_SIMPLE, 149 message_center::NOTIFICATION_TYPE_SIMPLE,
148 "an_id", 150 "an_id",
149 string16(), 151 string16(),
150 string16(), 152 string16(),
153 gfx::Image(),
151 string16(), 154 string16(),
152 std::string(), 155 std::string(),
153 NULL, 156 NULL,
154 NULL)); 157 NULL));
155 MockMessageCenter message_center; 158 MockMessageCenter message_center;
156 159
157 scoped_nsobject<MCNotificationController> controller( 160 scoped_nsobject<MCNotificationController> controller(
158 [[MCNotificationController alloc] initWithNotification:notification.get() 161 [[MCNotificationController alloc] initWithNotification:notification.get()
159 messageCenter:&message_center]); 162 messageCenter:&message_center]);
160 [controller view]; 163 [controller view];
161 164
162 [[controller closeButton] performClick:nil]; 165 [[controller closeButton] performClick:nil];
163 166
164 EXPECT_EQ(1, message_center.remove_count()); 167 EXPECT_EQ(1, message_center.remove_count());
165 EXPECT_EQ("an_id", message_center.last_removed_id()); 168 EXPECT_EQ("an_id", message_center.last_removed_id());
166 EXPECT_TRUE(message_center.last_removed_by_user()); 169 EXPECT_TRUE(message_center.last_removed_by_user());
167 } 170 }
168 171
169 TEST_F(NotificationControllerTest, Update) { 172 TEST_F(NotificationControllerTest, Update) {
170 scoped_ptr<message_center::Notification> notification( 173 scoped_ptr<message_center::Notification> notification(
171 new message_center::Notification( 174 new message_center::Notification(
172 message_center::NOTIFICATION_TYPE_SIMPLE, 175 message_center::NOTIFICATION_TYPE_SIMPLE,
173 "", 176 "",
174 ASCIIToUTF16("A simple title"), 177 ASCIIToUTF16("A simple title"),
175 ASCIIToUTF16("This message isn't too long and should fit in the" 178 ASCIIToUTF16("This message isn't too long and should fit in the"
176 "default bounds."), 179 "default bounds."),
180 gfx::Image(),
177 string16(), 181 string16(),
178 std::string(), 182 std::string(),
179 NULL, 183 NULL,
180 NULL)); 184 NULL));
181 scoped_nsobject<MCNotificationController> controller( 185 scoped_nsobject<MCNotificationController> controller(
182 [[MCNotificationController alloc] initWithNotification:notification.get() 186 [[MCNotificationController alloc] initWithNotification:notification.get()
183 messageCenter:NULL]); 187 messageCenter:NULL]);
184 188
185 // Set up the default layout. 189 // Set up the default layout.
186 [controller view]; 190 [controller view];
(...skipping 13 matching lines...) Expand all
200 base::DictionaryValue buttons; 204 base::DictionaryValue buttons;
201 buttons.SetString(message_center::kButtonOneTitleKey, "button1"); 205 buttons.SetString(message_center::kButtonOneTitleKey, "button1");
202 buttons.SetString(message_center::kButtonTwoTitleKey, "button2"); 206 buttons.SetString(message_center::kButtonTwoTitleKey, "button2");
203 207
204 scoped_ptr<message_center::Notification> notification( 208 scoped_ptr<message_center::Notification> notification(
205 new message_center::Notification( 209 new message_center::Notification(
206 message_center::NOTIFICATION_TYPE_BASE_FORMAT, 210 message_center::NOTIFICATION_TYPE_BASE_FORMAT,
207 "an_id", 211 "an_id",
208 string16(), 212 string16(),
209 string16(), 213 string16(),
214 gfx::Image(),
210 string16(), 215 string16(),
211 std::string(), 216 std::string(),
212 &buttons, 217 &buttons,
213 NULL)); 218 NULL));
214 MockMessageCenter message_center; 219 MockMessageCenter message_center;
215 220
216 scoped_nsobject<MCNotificationController> controller( 221 scoped_nsobject<MCNotificationController> controller(
217 [[MCNotificationController alloc] initWithNotification:notification.get() 222 [[MCNotificationController alloc] initWithNotification:notification.get()
218 messageCenter:&message_center]); 223 messageCenter:&message_center]);
219 [controller view]; 224 [controller view];
220 225
221 [[controller secondButton] performClick:nil]; 226 [[controller secondButton] performClick:nil];
222 227
223 EXPECT_EQ("an_id", message_center.last_clicked_id()); 228 EXPECT_EQ("an_id", message_center.last_clicked_id());
224 EXPECT_EQ(1, message_center.last_clicked_index()); 229 EXPECT_EQ(1, message_center.last_clicked_index());
225 } 230 }
226 231
227 TEST_F(NotificationControllerTest, Image) { 232 TEST_F(NotificationControllerTest, Image) {
228 scoped_ptr<message_center::Notification> notification( 233 scoped_ptr<message_center::Notification> notification(
229 new message_center::Notification( 234 new message_center::Notification(
230 message_center::NOTIFICATION_TYPE_BASE_FORMAT, 235 message_center::NOTIFICATION_TYPE_BASE_FORMAT,
231 "an_id", 236 "an_id",
232 string16(), 237 string16(),
233 string16(), 238 string16(),
239 gfx::Image(),
234 string16(), 240 string16(),
235 std::string(), 241 std::string(),
236 NULL, 242 NULL,
237 NULL)); 243 NULL));
238 NSImage* image = [NSImage imageNamed:NSImageNameFolder]; 244 NSImage* image = [NSImage imageNamed:NSImageNameFolder];
239 notification->set_image(gfx::Image([image retain])); 245 notification->set_image(gfx::Image([image retain]));
240 246
241 MockMessageCenter message_center; 247 MockMessageCenter message_center;
242 248
243 scoped_nsobject<MCNotificationController> controller( 249 scoped_nsobject<MCNotificationController> controller(
244 [[MCNotificationController alloc] initWithNotification:notification.get() 250 [[MCNotificationController alloc] initWithNotification:notification.get()
245 messageCenter:&message_center]); 251 messageCenter:&message_center]);
246 [controller view]; 252 [controller view];
247 253
248 ASSERT_EQ(1u, [[controller bottomSubviews] count]); 254 ASSERT_EQ(1u, [[controller bottomSubviews] count]);
249 ASSERT_TRUE([[[controller bottomSubviews] lastObject] 255 ASSERT_TRUE([[[controller bottomSubviews] lastObject]
250 isKindOfClass:[NSImageView class]]); 256 isKindOfClass:[NSImageView class]]);
251 EXPECT_EQ(image, [[[controller bottomSubviews] lastObject] image]); 257 EXPECT_EQ(image, [[[controller bottomSubviews] lastObject] image]);
252 } 258 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698