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

Side by Side Diff: chrome/browser/notifications/sync_notifier/synced_notification_unittest.cc

Issue 231723006: Remove balloon notification code. The last user was the Linux GTK port but that's deleted now. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: sync after elliot's r263101 Created 6 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 unified diff | Download patch | Annotate | Revision Log
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 #include <string> 5 #include <string>
6 6
7 #include "base/memory/scoped_ptr.h" 7 #include "base/memory/scoped_ptr.h"
8 #include "base/message_loop/message_loop.h" 8 #include "base/message_loop/message_loop.h"
9 #include "base/strings/utf_string_conversions.h" 9 #include "base/strings/utf_string_conversions.h"
10 #include "chrome/browser/notifications/notification.h" 10 #include "chrome/browser/notifications/notification.h"
(...skipping 11 matching lines...) Expand all
22 22
23 using syncer::SyncData; 23 using syncer::SyncData;
24 using notifier::SyncedNotification; 24 using notifier::SyncedNotification;
25 using sync_pb::EntitySpecifics; 25 using sync_pb::EntitySpecifics;
26 using sync_pb::SyncedNotificationSpecifics; 26 using sync_pb::SyncedNotificationSpecifics;
27 27
28 namespace { 28 namespace {
29 const int kNotificationPriority = static_cast<int>( 29 const int kNotificationPriority = static_cast<int>(
30 message_center::LOW_PRIORITY); 30 message_center::LOW_PRIORITY);
31 31
32 bool UseRichNotifications() {
33 return message_center::IsRichNotificationEnabled();
34 }
35
36 } // namespace 32 } // namespace
37 33
38 namespace notifier { 34 namespace notifier {
39 35
40 class SyncedNotificationTest : public testing::Test { 36 class SyncedNotificationTest : public testing::Test {
41 public: 37 public:
42 SyncedNotificationTest() 38 SyncedNotificationTest()
43 : ui_thread_(content::BrowserThread::UI, &message_loop_) {} 39 : ui_thread_(content::BrowserThread::UI, &message_loop_) {}
44 virtual ~SyncedNotificationTest() {} 40 virtual ~SyncedNotificationTest() {}
45 41
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after
250 sync_data1_, NULL, notification_manager())); 246 sync_data1_, NULL, notification_manager()));
251 247
252 // update with the sync data from notification2, and ensure they are equal. 248 // update with the sync data from notification2, and ensure they are equal.
253 notification5->Update(sync_data2_); 249 notification5->Update(sync_data2_);
254 EXPECT_TRUE(notification5->EqualsIgnoringReadState(*notification2_)); 250 EXPECT_TRUE(notification5->EqualsIgnoringReadState(*notification2_));
255 EXPECT_EQ(notification5->GetReadState(), notification2_->GetReadState()); 251 EXPECT_EQ(notification5->GetReadState(), notification2_->GetReadState());
256 EXPECT_FALSE(notification5->EqualsIgnoringReadState(*notification1_)); 252 EXPECT_FALSE(notification5->EqualsIgnoringReadState(*notification1_));
257 } 253 }
258 254
259 TEST_F(SyncedNotificationTest, ShowTest) { 255 TEST_F(SyncedNotificationTest, ShowTest) {
260
261 if (!UseRichNotifications())
262 return;
263
264 // Call the method under test using the pre-populated data. 256 // Call the method under test using the pre-populated data.
265 notification1_->Show(NULL); 257 notification1_->Show(NULL);
266 258
267 const Notification notification = notification_manager()->notification(); 259 const Notification notification = notification_manager()->notification();
268 260
269 // Check the base fields of the notification. 261 // Check the base fields of the notification.
270 EXPECT_EQ(message_center::NOTIFICATION_TYPE_IMAGE, notification.type()); 262 EXPECT_EQ(message_center::NOTIFICATION_TYPE_IMAGE, notification.type());
271 EXPECT_EQ(std::string(kTitle1), base::UTF16ToUTF8(notification.title())); 263 EXPECT_EQ(std::string(kTitle1), base::UTF16ToUTF8(notification.title()));
272 EXPECT_EQ(std::string(kText1), base::UTF16ToUTF8(notification.message())); 264 EXPECT_EQ(std::string(kText1), base::UTF16ToUTF8(notification.message()));
273 EXPECT_EQ(std::string(kExpectedOriginUrl), notification.origin_url().spec()); 265 EXPECT_EQ(std::string(kExpectedOriginUrl), notification.origin_url().spec());
274 EXPECT_EQ(std::string(kKey1), base::UTF16ToUTF8(notification.replace_id())); 266 EXPECT_EQ(std::string(kKey1), base::UTF16ToUTF8(notification.replace_id()));
275 267
276 EXPECT_EQ(kFakeCreationTime, notification.timestamp().ToDoubleT()); 268 EXPECT_EQ(kFakeCreationTime, notification.timestamp().ToDoubleT());
277 EXPECT_EQ(kNotificationPriority, notification.priority()); 269 EXPECT_EQ(kNotificationPriority, notification.priority());
278 } 270 }
279 271
280 TEST_F(SyncedNotificationTest, DismissTest) { 272 TEST_F(SyncedNotificationTest, DismissTest) {
281 273
282 if (!UseRichNotifications())
283 return;
284
285 // Call the method under test using a dismissed notification. 274 // Call the method under test using a dismissed notification.
286 notification4_->Show(NULL); 275 notification4_->Show(NULL);
287 276
288 EXPECT_EQ(std::string(kKey1), notification_manager()->dismissed_id()); 277 EXPECT_EQ(std::string(kKey1), notification_manager()->dismissed_id());
289 } 278 }
290 279
291 TEST_F(SyncedNotificationTest, CreateBitmapFetcherTest) { 280 TEST_F(SyncedNotificationTest, CreateBitmapFetcherTest) {
292 scoped_ptr<SyncedNotification> notification6; 281 scoped_ptr<SyncedNotification> notification6;
293 notification6.reset(new SyncedNotification( 282 notification6.reset(new SyncedNotification(
294 sync_data1_, NULL, notification_manager())); 283 sync_data1_, NULL, notification_manager()));
295 284
296 // Add two bitmaps to the queue. 285 // Add two bitmaps to the queue.
297 notification6->CreateBitmapFetcher(GURL(kIconUrl1)); 286 notification6->CreateBitmapFetcher(GURL(kIconUrl1));
298 notification6->CreateBitmapFetcher(GURL(kIconUrl2)); 287 notification6->CreateBitmapFetcher(GURL(kIconUrl2));
299 288
300 EXPECT_EQ(GURL(kIconUrl1), notification6->fetchers_[0]->url()); 289 EXPECT_EQ(GURL(kIconUrl1), notification6->fetchers_[0]->url());
301 EXPECT_EQ(GURL(kIconUrl2), notification6->fetchers_[1]->url()); 290 EXPECT_EQ(GURL(kIconUrl2), notification6->fetchers_[1]->url());
302 291
303 notification6->CreateBitmapFetcher(GURL(kIconUrl2)); 292 notification6->CreateBitmapFetcher(GURL(kIconUrl2));
304 } 293 }
305 294
306 TEST_F(SyncedNotificationTest, OnFetchCompleteTest) { 295 TEST_F(SyncedNotificationTest, OnFetchCompleteTest) {
307 if (!UseRichNotifications())
308 return;
309
310 // Set up the internal state that FetchBitmaps() would have set. 296 // Set up the internal state that FetchBitmaps() would have set.
311 notification1_->notification_manager_ = notification_manager(); 297 notification1_->notification_manager_ = notification_manager();
312 298
313 // Add the bitmaps to the queue for us to match up. 299 // Add the bitmaps to the queue for us to match up.
314 notification1_->CreateBitmapFetcher(GURL(kIconUrl1)); 300 notification1_->CreateBitmapFetcher(GURL(kIconUrl1));
315 notification1_->CreateBitmapFetcher(GURL(kImageUrl1)); 301 notification1_->CreateBitmapFetcher(GURL(kImageUrl1));
316 notification1_->CreateBitmapFetcher(GURL(kButtonOneIconUrl)); 302 notification1_->CreateBitmapFetcher(GURL(kButtonOneIconUrl));
317 notification1_->CreateBitmapFetcher(GURL(kButtonTwoIconUrl)); 303 notification1_->CreateBitmapFetcher(GURL(kButtonTwoIconUrl));
318 304
319 // Put some realistic looking bitmap data into the url_fetcher. 305 // Put some realistic looking bitmap data into the url_fetcher.
(...skipping 30 matching lines...) Expand all
350 base::UTF16ToUTF8(notification_manager()->notification().message())); 336 base::UTF16ToUTF8(notification_manager()->notification().message()));
351 337
352 // TODO(petewil): Check that the bitmap in the notification is what we expect. 338 // TODO(petewil): Check that the bitmap in the notification is what we expect.
353 // This fails today, the type info is different. 339 // This fails today, the type info is different.
354 // EXPECT_TRUE(gfx::BitmapsAreEqual( 340 // EXPECT_TRUE(gfx::BitmapsAreEqual(
355 // image, notification1_->GetAppIconBitmap())); 341 // image, notification1_->GetAppIconBitmap()));
356 } 342 }
357 343
358 // TODO(petewil): Empty bitmap should count as a successful fetch. 344 // TODO(petewil): Empty bitmap should count as a successful fetch.
359 TEST_F(SyncedNotificationTest, EmptyBitmapTest) { 345 TEST_F(SyncedNotificationTest, EmptyBitmapTest) {
360 if (!UseRichNotifications())
361 return;
362
363 // Set up the internal state that FetchBitmaps() would have set. 346 // Set up the internal state that FetchBitmaps() would have set.
364 notification1_->notification_manager_ = notification_manager(); 347 notification1_->notification_manager_ = notification_manager();
365 348
366 // Add the bitmaps to the queue for us to match up. 349 // Add the bitmaps to the queue for us to match up.
367 notification1_->CreateBitmapFetcher(GURL(kIconUrl1)); 350 notification1_->CreateBitmapFetcher(GURL(kIconUrl1));
368 notification1_->CreateBitmapFetcher(GURL(kImageUrl1)); 351 notification1_->CreateBitmapFetcher(GURL(kImageUrl1));
369 notification1_->CreateBitmapFetcher(GURL(kButtonOneIconUrl)); 352 notification1_->CreateBitmapFetcher(GURL(kButtonOneIconUrl));
370 notification1_->CreateBitmapFetcher(GURL(kButtonTwoIconUrl)); 353 notification1_->CreateBitmapFetcher(GURL(kButtonTwoIconUrl));
371 354
372 // Put some realistic looking bitmap data into the url_fetcher. 355 // Put some realistic looking bitmap data into the url_fetcher.
(...skipping 26 matching lines...) Expand all
399 EXPECT_EQ(message_center::NOTIFICATION_TYPE_IMAGE, 382 EXPECT_EQ(message_center::NOTIFICATION_TYPE_IMAGE,
400 notification_manager()->notification().type()); 383 notification_manager()->notification().type());
401 EXPECT_EQ(std::string(kTitle1), 384 EXPECT_EQ(std::string(kTitle1),
402 base::UTF16ToUTF8(notification_manager()->notification().title())); 385 base::UTF16ToUTF8(notification_manager()->notification().title()));
403 EXPECT_EQ( 386 EXPECT_EQ(
404 std::string(kText1), 387 std::string(kText1),
405 base::UTF16ToUTF8(notification_manager()->notification().message())); 388 base::UTF16ToUTF8(notification_manager()->notification().message()));
406 } 389 }
407 390
408 TEST_F(SyncedNotificationTest, ShowIfNewlyEnabledTest) { 391 TEST_F(SyncedNotificationTest, ShowIfNewlyEnabledTest) {
409 if (!UseRichNotifications())
410 return;
411
412 // Call the method using the wrong app id, nothing should get shown. 392 // Call the method using the wrong app id, nothing should get shown.
413 notification1_->ShowAllForAppId(NULL, kAppId2); 393 notification1_->ShowAllForAppId(NULL, kAppId2);
414 394
415 // Ensure no notification was generated and shown. 395 // Ensure no notification was generated and shown.
416 const Notification notification1 = notification_manager()->notification(); 396 const Notification notification1 = notification_manager()->notification();
417 EXPECT_EQ(std::string(), base::UTF16ToUTF8(notification1.replace_id())); 397 EXPECT_EQ(std::string(), base::UTF16ToUTF8(notification1.replace_id()));
418 398
419 // Call the method under test using the pre-populated data. 399 // Call the method under test using the pre-populated data.
420 notification1_->ShowAllForAppId(NULL, kAppId1); 400 notification1_->ShowAllForAppId(NULL, kAppId1);
421 401
422 const Notification notification2 = notification_manager()->notification(); 402 const Notification notification2 = notification_manager()->notification();
423 403
424 // Check the base fields of the notification. 404 // Check the base fields of the notification.
425 EXPECT_EQ(message_center::NOTIFICATION_TYPE_IMAGE, notification2.type()); 405 EXPECT_EQ(message_center::NOTIFICATION_TYPE_IMAGE, notification2.type());
426 EXPECT_EQ(std::string(kTitle1), base::UTF16ToUTF8(notification2.title())); 406 EXPECT_EQ(std::string(kTitle1), base::UTF16ToUTF8(notification2.title()));
427 EXPECT_EQ(std::string(kText1), base::UTF16ToUTF8(notification2.message())); 407 EXPECT_EQ(std::string(kText1), base::UTF16ToUTF8(notification2.message()));
428 EXPECT_EQ(std::string(kExpectedOriginUrl), notification2.origin_url().spec()); 408 EXPECT_EQ(std::string(kExpectedOriginUrl), notification2.origin_url().spec());
429 EXPECT_EQ(std::string(kKey1), base::UTF16ToUTF8(notification2.replace_id())); 409 EXPECT_EQ(std::string(kKey1), base::UTF16ToUTF8(notification2.replace_id()));
430 410
431 EXPECT_EQ(kFakeCreationTime, notification2.timestamp().ToDoubleT()); 411 EXPECT_EQ(kFakeCreationTime, notification2.timestamp().ToDoubleT());
432 EXPECT_EQ(kNotificationPriority, notification2.priority()); 412 EXPECT_EQ(kNotificationPriority, notification2.priority());
433 } 413 }
434 414
435 TEST_F(SyncedNotificationTest, HideIfNewlyRemovedTest) { 415 TEST_F(SyncedNotificationTest, HideIfNewlyRemovedTest) {
436 if (!UseRichNotifications())
437 return;
438
439 // Add the notification to the notification manger, so it exists before we 416 // Add the notification to the notification manger, so it exists before we
440 // we remove it. 417 // we remove it.
441 notification1_->Show(NULL); 418 notification1_->Show(NULL);
442 const Notification* found1 = notification_manager()->FindById(kKey1); 419 const Notification* found1 = notification_manager()->FindById(kKey1);
443 EXPECT_NE(reinterpret_cast<Notification*>(NULL), found1); 420 EXPECT_NE(reinterpret_cast<Notification*>(NULL), found1);
444 421
445 // Call the method under test using the pre-populated data. 422 // Call the method under test using the pre-populated data.
446 notification1_->HideAllForAppId(kAppId1); 423 notification1_->HideAllForAppId(kAppId1);
447 424
448 // Ensure the notification was removed from the notification manager 425 // Ensure the notification was removed from the notification manager
449 EXPECT_EQ(std::string(kKey1), notification_manager()->dismissed_id()); 426 EXPECT_EQ(std::string(kKey1), notification_manager()->dismissed_id());
450 } 427 }
451 428
452 // TODO(petewil): Add a test for a notification being read and or deleted. 429 // TODO(petewil): Add a test for a notification being read and or deleted.
453 430
454 } // namespace notifier 431 } // namespace notifier
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698