OLD | NEW |
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 #include <map> | 5 #include <map> |
6 #include <string> | 6 #include <string> |
7 | 7 |
8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
9 #include "base/message_loop/message_loop.h" | 9 #include "base/message_loop/message_loop.h" |
10 #include "base/strings/string_number_conversions.h" | 10 #include "base/strings/string_number_conversions.h" |
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
142 #if !defined(OS_MACOSX) | 142 #if !defined(OS_MACOSX) |
143 | 143 |
144 IN_PROC_BROWSER_TEST_F(MessageCenterNotificationsTest, RetrieveBaseParts) { | 144 IN_PROC_BROWSER_TEST_F(MessageCenterNotificationsTest, RetrieveBaseParts) { |
145 EXPECT_TRUE(manager()); | 145 EXPECT_TRUE(manager()); |
146 EXPECT_TRUE(message_center()); | 146 EXPECT_TRUE(message_center()); |
147 } | 147 } |
148 | 148 |
149 IN_PROC_BROWSER_TEST_F(MessageCenterNotificationsTest, BasicAddCancel) { | 149 IN_PROC_BROWSER_TEST_F(MessageCenterNotificationsTest, BasicAddCancel) { |
150 #if defined(OS_WIN) && defined(USE_ASH) | 150 #if defined(OS_WIN) && defined(USE_ASH) |
151 // Disable this test in Metro+Ash for now (http://crbug.com/262796). | 151 // Disable this test in Metro+Ash for now (http://crbug.com/262796). |
152 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kAshBrowserTests)) | 152 if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
| 153 switches::kAshBrowserTests)) |
153 return; | 154 return; |
154 #endif | 155 #endif |
155 | 156 |
156 // Someone may create system notifications like "you're in multi-profile | 157 // Someone may create system notifications like "you're in multi-profile |
157 // mode..." or something which may change the expectation. | 158 // mode..." or something which may change the expectation. |
158 // TODO(mukai): move this to SetUpOnMainThread() after fixing the side-effect | 159 // TODO(mukai): move this to SetUpOnMainThread() after fixing the side-effect |
159 // of canceling animation which prevents some Displayed() event. | 160 // of canceling animation which prevents some Displayed() event. |
160 manager()->CancelAll(); | 161 manager()->CancelAll(); |
161 manager()->Add(CreateTestNotification("hey"), profile()); | 162 manager()->Add(CreateTestNotification("hey"), profile()); |
162 EXPECT_EQ(1u, message_center()->NotificationCount()); | 163 EXPECT_EQ(1u, message_center()->NotificationCount()); |
163 manager()->CancelById("hey", NotificationUIManager::GetProfileID(profile())); | 164 manager()->CancelById("hey", NotificationUIManager::GetProfileID(profile())); |
164 EXPECT_EQ(0u, message_center()->NotificationCount()); | 165 EXPECT_EQ(0u, message_center()->NotificationCount()); |
165 } | 166 } |
166 | 167 |
167 IN_PROC_BROWSER_TEST_F(MessageCenterNotificationsTest, BasicDelegate) { | 168 IN_PROC_BROWSER_TEST_F(MessageCenterNotificationsTest, BasicDelegate) { |
168 #if defined(OS_WIN) && defined(USE_ASH) | 169 #if defined(OS_WIN) && defined(USE_ASH) |
169 // Disable this test in Metro+Ash for now (http://crbug.com/262796). | 170 // Disable this test in Metro+Ash for now (http://crbug.com/262796). |
170 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kAshBrowserTests)) | 171 if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
| 172 switches::kAshBrowserTests)) |
171 return; | 173 return; |
172 #endif | 174 #endif |
173 | 175 |
174 TestDelegate* delegate; | 176 TestDelegate* delegate; |
175 manager()->Add(CreateTestNotification("hey", &delegate), profile()); | 177 manager()->Add(CreateTestNotification("hey", &delegate), profile()); |
176 // Verify that delegate accumulated correct log of events. | 178 // Verify that delegate accumulated correct log of events. |
177 EXPECT_EQ("Display_", delegate->log()); | 179 EXPECT_EQ("Display_", delegate->log()); |
178 manager()->CancelById("hey", NotificationUIManager::GetProfileID(profile())); | 180 manager()->CancelById("hey", NotificationUIManager::GetProfileID(profile())); |
179 // Verify that delegate accumulated correct log of events. | 181 // Verify that delegate accumulated correct log of events. |
180 EXPECT_EQ("Display_Close_programmatically_", delegate->log()); | 182 EXPECT_EQ("Display_Close_programmatically_", delegate->log()); |
181 delegate->Release(); | 183 delegate->Release(); |
182 } | 184 } |
183 | 185 |
184 IN_PROC_BROWSER_TEST_F(MessageCenterNotificationsTest, ButtonClickedDelegate) { | 186 IN_PROC_BROWSER_TEST_F(MessageCenterNotificationsTest, ButtonClickedDelegate) { |
185 #if defined(OS_WIN) && defined(USE_ASH) | 187 #if defined(OS_WIN) && defined(USE_ASH) |
186 // Disable this test in Metro+Ash for now (http://crbug.com/262796). | 188 // Disable this test in Metro+Ash for now (http://crbug.com/262796). |
187 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kAshBrowserTests)) | 189 if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
| 190 switches::kAshBrowserTests)) |
188 return; | 191 return; |
189 #endif | 192 #endif |
190 | 193 |
191 TestDelegate* delegate; | 194 TestDelegate* delegate; |
192 manager()->Add(CreateTestNotification("n", &delegate), profile()); | 195 manager()->Add(CreateTestNotification("n", &delegate), profile()); |
193 const std::string notification_id = | 196 const std::string notification_id = |
194 manager()->GetMessageCenterNotificationIdForTest("n", profile()); | 197 manager()->GetMessageCenterNotificationIdForTest("n", profile()); |
195 message_center()->ClickOnNotificationButton(notification_id, 1); | 198 message_center()->ClickOnNotificationButton(notification_id, 1); |
196 // Verify that delegate accumulated correct log of events. | 199 // Verify that delegate accumulated correct log of events. |
197 EXPECT_EQ("Display_ButtonClick_1_", delegate->log()); | 200 EXPECT_EQ("Display_ButtonClick_1_", delegate->log()); |
198 delegate->Release(); | 201 delegate->Release(); |
199 } | 202 } |
200 | 203 |
201 IN_PROC_BROWSER_TEST_F(MessageCenterNotificationsTest, | 204 IN_PROC_BROWSER_TEST_F(MessageCenterNotificationsTest, |
202 UpdateExistingNotification) { | 205 UpdateExistingNotification) { |
203 #if defined(OS_WIN) && defined(USE_ASH) | 206 #if defined(OS_WIN) && defined(USE_ASH) |
204 // Disable this test in Metro+Ash for now (http://crbug.com/262796). | 207 // Disable this test in Metro+Ash for now (http://crbug.com/262796). |
205 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kAshBrowserTests)) | 208 if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
| 209 switches::kAshBrowserTests)) |
206 return; | 210 return; |
207 #endif | 211 #endif |
208 | 212 |
209 TestDelegate* delegate; | 213 TestDelegate* delegate; |
210 manager()->Add(CreateTestNotification("n", &delegate), profile()); | 214 manager()->Add(CreateTestNotification("n", &delegate), profile()); |
211 TestDelegate* delegate2; | 215 TestDelegate* delegate2; |
212 manager()->Add(CreateRichTestNotification("n", &delegate2), profile()); | 216 manager()->Add(CreateRichTestNotification("n", &delegate2), profile()); |
213 | 217 |
214 manager()->CancelById("n", NotificationUIManager::GetProfileID(profile())); | 218 manager()->CancelById("n", NotificationUIManager::GetProfileID(profile())); |
215 EXPECT_EQ("Display_", delegate->log()); | 219 EXPECT_EQ("Display_", delegate->log()); |
216 EXPECT_EQ("Close_programmatically_", delegate2->log()); | 220 EXPECT_EQ("Close_programmatically_", delegate2->log()); |
217 | 221 |
218 delegate->Release(); | 222 delegate->Release(); |
219 delegate2->Release(); | 223 delegate2->Release(); |
220 } | 224 } |
221 | 225 |
222 IN_PROC_BROWSER_TEST_F(MessageCenterNotificationsTest, QueueWhenCenterVisible) { | 226 IN_PROC_BROWSER_TEST_F(MessageCenterNotificationsTest, QueueWhenCenterVisible) { |
223 #if defined(OS_WIN) && defined(USE_ASH) | 227 #if defined(OS_WIN) && defined(USE_ASH) |
224 // Disable this test in Metro+Ash for now (http://crbug.com/262796). | 228 // Disable this test in Metro+Ash for now (http://crbug.com/262796). |
225 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kAshBrowserTests)) | 229 if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
| 230 switches::kAshBrowserTests)) |
226 return; | 231 return; |
227 #endif | 232 #endif |
228 | 233 |
229 TestAddObserver observer(message_center()); | 234 TestAddObserver observer(message_center()); |
230 | 235 |
231 TestDelegate* delegate; | 236 TestDelegate* delegate; |
232 TestDelegate* delegate2; | 237 TestDelegate* delegate2; |
233 | 238 |
234 manager()->Add(CreateTestNotification("n", &delegate), profile()); | 239 manager()->Add(CreateTestNotification("n", &delegate), profile()); |
235 const std::string id_n = | 240 const std::string id_n = |
(...skipping 16 matching lines...) Expand all Loading... |
252 EXPECT_EQ(base::StringPrintf("add-%s", id_n2.c_str()), observer.log(id_n2)); | 257 EXPECT_EQ(base::StringPrintf("add-%s", id_n2.c_str()), observer.log(id_n2)); |
253 | 258 |
254 delegate->Release(); | 259 delegate->Release(); |
255 delegate2->Release(); | 260 delegate2->Release(); |
256 } | 261 } |
257 | 262 |
258 IN_PROC_BROWSER_TEST_F(MessageCenterNotificationsTest, | 263 IN_PROC_BROWSER_TEST_F(MessageCenterNotificationsTest, |
259 UpdateNonProgressNotificationWhenCenterVisible) { | 264 UpdateNonProgressNotificationWhenCenterVisible) { |
260 #if defined(OS_WIN) && defined(USE_ASH) | 265 #if defined(OS_WIN) && defined(USE_ASH) |
261 // Disable this test in Metro+Ash for now (http://crbug.com/262796). | 266 // Disable this test in Metro+Ash for now (http://crbug.com/262796). |
262 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kAshBrowserTests)) | 267 if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
| 268 switches::kAshBrowserTests)) |
263 return; | 269 return; |
264 #endif | 270 #endif |
265 | 271 |
266 TestAddObserver observer(message_center()); | 272 TestAddObserver observer(message_center()); |
267 | 273 |
268 TestDelegate* delegate; | 274 TestDelegate* delegate; |
269 | 275 |
270 // Add a non-progress notification and update it while the message center | 276 // Add a non-progress notification and update it while the message center |
271 // is visible. | 277 // is visible. |
272 Notification notification = CreateTestNotification("n", &delegate); | 278 Notification notification = CreateTestNotification("n", &delegate); |
(...skipping 14 matching lines...) Expand all Loading... |
287 observer.log(notification_id)); | 293 observer.log(notification_id)); |
288 | 294 |
289 delegate->Release(); | 295 delegate->Release(); |
290 } | 296 } |
291 | 297 |
292 IN_PROC_BROWSER_TEST_F( | 298 IN_PROC_BROWSER_TEST_F( |
293 MessageCenterNotificationsTest, | 299 MessageCenterNotificationsTest, |
294 UpdateNonProgressToProgressNotificationWhenCenterVisible) { | 300 UpdateNonProgressToProgressNotificationWhenCenterVisible) { |
295 #if defined(OS_WIN) && defined(USE_ASH) | 301 #if defined(OS_WIN) && defined(USE_ASH) |
296 // Disable this test in Metro+Ash for now (http://crbug.com/262796). | 302 // Disable this test in Metro+Ash for now (http://crbug.com/262796). |
297 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kAshBrowserTests)) | 303 if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
| 304 switches::kAshBrowserTests)) |
298 return; | 305 return; |
299 #endif | 306 #endif |
300 | 307 |
301 TestAddObserver observer(message_center()); | 308 TestAddObserver observer(message_center()); |
302 | 309 |
303 TestDelegate* delegate; | 310 TestDelegate* delegate; |
304 | 311 |
305 // Add a non-progress notification and change the type to progress while the | 312 // Add a non-progress notification and change the type to progress while the |
306 // message center is visible. | 313 // message center is visible. |
307 Notification notification = CreateTestNotification("n", &delegate); | 314 Notification notification = CreateTestNotification("n", &delegate); |
(...skipping 13 matching lines...) Expand all Loading... |
321 EXPECT_EQ(base::StringPrintf("update-%s", notification_id.c_str()), | 328 EXPECT_EQ(base::StringPrintf("update-%s", notification_id.c_str()), |
322 observer.log(notification_id)); | 329 observer.log(notification_id)); |
323 | 330 |
324 delegate->Release(); | 331 delegate->Release(); |
325 } | 332 } |
326 | 333 |
327 IN_PROC_BROWSER_TEST_F(MessageCenterNotificationsTest, | 334 IN_PROC_BROWSER_TEST_F(MessageCenterNotificationsTest, |
328 UpdateProgressNotificationWhenCenterVisible) { | 335 UpdateProgressNotificationWhenCenterVisible) { |
329 #if defined(OS_WIN) && defined(USE_ASH) | 336 #if defined(OS_WIN) && defined(USE_ASH) |
330 // Disable this test in Metro+Ash for now (http://crbug.com/262796). | 337 // Disable this test in Metro+Ash for now (http://crbug.com/262796). |
331 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kAshBrowserTests)) | 338 if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
| 339 switches::kAshBrowserTests)) |
332 return; | 340 return; |
333 #endif | 341 #endif |
334 | 342 |
335 TestAddObserver observer(message_center()); | 343 TestAddObserver observer(message_center()); |
336 | 344 |
337 TestDelegate* delegate; | 345 TestDelegate* delegate; |
338 | 346 |
339 // Add a progress notification and update it while the message center | 347 // Add a progress notification and update it while the message center |
340 // is visible. | 348 // is visible. |
341 Notification notification = CreateTestNotification("n", &delegate); | 349 Notification notification = CreateTestNotification("n", &delegate); |
342 notification.set_type(message_center::NOTIFICATION_TYPE_PROGRESS); | 350 notification.set_type(message_center::NOTIFICATION_TYPE_PROGRESS); |
343 manager()->Add(notification, profile()); | 351 manager()->Add(notification, profile()); |
344 const std::string notification_id = | 352 const std::string notification_id = |
345 manager()->GetMessageCenterNotificationIdForTest("n", profile()); | 353 manager()->GetMessageCenterNotificationIdForTest("n", profile()); |
346 message_center()->ClickOnNotification(notification_id); | 354 message_center()->ClickOnNotification(notification_id); |
347 message_center()->SetVisibility(message_center::VISIBILITY_MESSAGE_CENTER); | 355 message_center()->SetVisibility(message_center::VISIBILITY_MESSAGE_CENTER); |
348 observer.reset_logs(); | 356 observer.reset_logs(); |
349 notification.set_progress(50); | 357 notification.set_progress(50); |
350 manager()->Update(notification, profile()); | 358 manager()->Update(notification, profile()); |
351 | 359 |
352 // Expect that the progress notification update is performed. | 360 // Expect that the progress notification update is performed. |
353 EXPECT_EQ(base::StringPrintf("update-%s", notification_id.c_str()), | 361 EXPECT_EQ(base::StringPrintf("update-%s", notification_id.c_str()), |
354 observer.log(notification_id)); | 362 observer.log(notification_id)); |
355 | 363 |
356 delegate->Release(); | 364 delegate->Release(); |
357 } | 365 } |
358 | 366 |
359 #endif // !defined(OS_MACOSX) | 367 #endif // !defined(OS_MACOSX) |
OLD | NEW |