OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "ui/message_center/notification_list.h" | 5 #include "ui/message_center/notification_list.h" |
6 | 6 |
7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
8 #include "base/i18n/time_formatting.h" | 8 #include "base/i18n/time_formatting.h" |
9 #include "base/strings/stringprintf.h" | 9 #include "base/strings/stringprintf.h" |
10 #include "base/strings/utf_string_conversions.h" | 10 #include "base/strings/utf_string_conversions.h" |
(...skipping 510 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
521 gfx::Image(), | 521 gfx::Image(), |
522 UTF8ToUTF16(kDisplaySource), | 522 UTF8ToUTF16(kDisplaySource), |
523 NotifierId(NotifierId::APPLICATION, | 523 NotifierId(NotifierId::APPLICATION, |
524 kExtensionId), | 524 kExtensionId), |
525 priority, | 525 priority, |
526 NULL)); | 526 NULL)); |
527 notification_list()->UpdateNotificationMessage(id1, notification.Pass()); | 527 notification_list()->UpdateNotificationMessage(id1, notification.Pass()); |
528 EXPECT_EQ(0u, GetPopupCounts()); | 528 EXPECT_EQ(0u, GetPopupCounts()); |
529 } | 529 } |
530 | 530 |
531 TEST_F(NotificationListTest, WebNotificationUpdatePromotion) { | |
532 std::string notification_id = "replaced-web-notification"; | |
533 scoped_ptr<Notification> original_notification( | |
534 new Notification(message_center::NOTIFICATION_TYPE_SIMPLE, | |
535 notification_id, | |
536 UTF8ToUTF16("Web Notification"), | |
537 UTF8ToUTF16("Notification contents"), | |
538 gfx::Image(), | |
539 UTF8ToUTF16(kDisplaySource), | |
540 NotifierId(GURL("https://example.com/")), | |
541 message_center::RichNotificationData(), | |
542 NULL)); | |
543 | |
544 EXPECT_EQ(0u, GetPopupCounts()); | |
545 notification_list()->AddNotification(original_notification.Pass()); | |
546 EXPECT_EQ(1u, GetPopupCounts()); | |
547 | |
548 notification_list()->MarkSinglePopupAsShown(notification_id, true); | |
549 EXPECT_EQ(0u, GetPopupCounts()); | |
550 | |
551 scoped_ptr<Notification> replaced_notification( | |
552 new Notification(message_center::NOTIFICATION_TYPE_SIMPLE, | |
553 notification_id, | |
554 UTF8ToUTF16("Web Notification Replacement"), | |
555 UTF8ToUTF16("New notification contents"), | |
556 gfx::Image(), | |
557 UTF8ToUTF16(kDisplaySource), | |
558 NotifierId(GURL("https://example.com/")), | |
559 message_center::RichNotificationData(), | |
560 NULL)); | |
561 | |
562 // Web Notifications will be re-shown as popups even if their priority didn't | |
563 // change, to match the behavior of the Web Notification API. | |
564 notification_list()->UpdateNotificationMessage(notification_id, | |
565 replaced_notification.Pass()); | |
566 EXPECT_EQ(1u, GetPopupCounts()); | |
567 } | |
568 | |
569 TEST_F(NotificationListTest, NotificationOrderAndPriority) { | 531 TEST_F(NotificationListTest, NotificationOrderAndPriority) { |
570 base::Time now = base::Time::Now(); | 532 base::Time now = base::Time::Now(); |
571 message_center::RichNotificationData optional; | 533 message_center::RichNotificationData optional; |
572 optional.timestamp = now; | 534 optional.timestamp = now; |
573 optional.priority = 2; | 535 optional.priority = 2; |
574 std::string max_id = AddNotification(optional); | 536 std::string max_id = AddNotification(optional); |
575 | 537 |
576 now += base::TimeDelta::FromSeconds(1); | 538 now += base::TimeDelta::FromSeconds(1); |
577 optional.timestamp = now; | 539 optional.timestamp = now; |
578 optional.priority = 1; | 540 optional.priority = 1; |
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
751 NULL)); | 713 NULL)); |
752 notification_list()->AddNotification(updated_notification.Pass()); | 714 notification_list()->AddNotification(updated_notification.Pass()); |
753 | 715 |
754 EXPECT_FALSE(notification_list()->HasNotificationOfType( | 716 EXPECT_FALSE(notification_list()->HasNotificationOfType( |
755 id, message_center::NOTIFICATION_TYPE_SIMPLE)); | 717 id, message_center::NOTIFICATION_TYPE_SIMPLE)); |
756 EXPECT_TRUE(notification_list()->HasNotificationOfType( | 718 EXPECT_TRUE(notification_list()->HasNotificationOfType( |
757 id, message_center::NOTIFICATION_TYPE_PROGRESS)); | 719 id, message_center::NOTIFICATION_TYPE_PROGRESS)); |
758 } | 720 } |
759 | 721 |
760 } // namespace message_center | 722 } // namespace message_center |
OLD | NEW |