Chromium Code Reviews| 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/stringprintf.h" | 9 #include "base/stringprintf.h" |
| 10 #include "base/utf_string_conversions.h" | 10 #include "base/utf_string_conversions.h" |
| (...skipping 299 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 310 notification_list()->GetNotifications(¬ifications); | 310 notification_list()->GetNotifications(¬ifications); |
| 311 EXPECT_EQ(3u, notifications.size()); | 311 EXPECT_EQ(3u, notifications.size()); |
| 312 iter = notifications.begin(); | 312 iter = notifications.begin(); |
| 313 EXPECT_EQ(max_id, iter->id); | 313 EXPECT_EQ(max_id, iter->id); |
| 314 iter++; | 314 iter++; |
| 315 EXPECT_EQ(high_id, iter->id); | 315 EXPECT_EQ(high_id, iter->id); |
| 316 iter++; | 316 iter++; |
| 317 EXPECT_EQ(default_id, iter->id); | 317 EXPECT_EQ(default_id, iter->id); |
| 318 } | 318 } |
| 319 | 319 |
| 320 TEST_F(NotificationListTest, MarkSinglePopupAsShown) { | |
| 321 std::string id1 = AddNotification(NULL); | |
| 322 std::string id2 = AddNotification(NULL); | |
| 323 ASSERT_EQ(2u, notification_list()->NotificationCount()); | |
| 324 ASSERT_EQ(2u, GetPopupCounts()); | |
| 325 | |
| 326 notification_list()->MarkSinglePopupAsShown(id2); | |
| 327 EXPECT_EQ(2u, notification_list()->NotificationCount()); | |
| 328 EXPECT_EQ(1u, GetPopupCounts()); | |
| 329 NotificationList::Notifications popups; | |
| 330 notification_list()->GetPopupNotifications(&popups); | |
| 331 EXPECT_EQ(id1, popups.begin()->id); | |
| 332 | |
| 333 // Reorder happens -- popup-notifications should be at the beginning of the | |
| 334 // list. | |
| 335 // TODO(mukai): confirm this behavior is expected. | |
| 336 NotificationList::Notifications notifications; | |
| 337 notification_list()->GetNotifications(¬ifications); | |
| 338 NotificationList::Notifications::const_iterator iter = notifications.begin(); | |
| 339 EXPECT_EQ(id1, iter->id); | |
| 340 iter++; | |
| 341 EXPECT_EQ(id2, iter->id); | |
| 342 | |
| 343 // Trickier scenario. | |
| 344 notification_list()->MarkPopupsAsShown(ui::notifications::DEFAULT_PRIORITY); | |
| 345 std::string id3 = AddNotification(NULL); | |
| 346 std::string id4 = AddNotification(NULL); | |
| 347 std::string id5 = AddNotification(NULL); | |
| 348 notification_list()->MarkSinglePopupAsShown(id4); | |
| 349 popups.clear(); | |
| 350 notifications.clear(); | |
| 351 notification_list()->GetPopupNotifications(&popups); | |
| 352 notification_list()->GetNotifications(¬ifications); | |
| 353 EXPECT_EQ(2u, popups.size()); | |
| 354 iter = popups.begin(); | |
| 355 EXPECT_EQ(id5, iter->id); | |
| 356 iter++; | |
| 357 EXPECT_EQ(id3, iter->id); | |
| 358 EXPECT_EQ(5u, notifications.size()); | |
| 359 iter = notifications.begin(); | |
| 360 EXPECT_EQ(id5, iter->id); | |
| 361 iter++; | |
| 362 EXPECT_EQ(id3, iter->id); | |
| 363 iter++; | |
| 364 EXPECT_EQ(id4, iter->id); | |
| 365 iter++; | |
| 366 EXPECT_EQ(id1, iter->id); | |
| 367 iter++; | |
| 368 EXPECT_EQ(id2, iter->id); | |
|
miket_OOO
2013/01/07 22:29:07
Great!
| |
| 369 } | |
| 370 | |
| 320 TEST_F(NotificationListTest, QuietMode) { | 371 TEST_F(NotificationListTest, QuietMode) { |
| 321 notification_list()->SetQuietMode(true); | 372 notification_list()->SetQuietMode(true); |
| 322 AddNotification(NULL); | 373 AddNotification(NULL); |
| 323 AddPriorityNotification(1); | 374 AddPriorityNotification(1); |
| 324 AddPriorityNotification(2); | 375 AddPriorityNotification(2); |
| 325 EXPECT_EQ(3u, notification_list()->NotificationCount()); | 376 EXPECT_EQ(3u, notification_list()->NotificationCount()); |
| 326 EXPECT_EQ(0u, GetPopupCounts()); | 377 EXPECT_EQ(0u, GetPopupCounts()); |
| 327 // TODO(mukai): fix here when notification_list distinguish dismiss by quiet | 378 // TODO(mukai): fix here when notification_list distinguish dismiss by quiet |
| 328 // mode and by user operation. | 379 // mode and by user operation. |
| 329 EXPECT_EQ(0u, notification_list()->unread_count()); | 380 EXPECT_EQ(0u, notification_list()->unread_count()); |
| 330 | 381 |
| 331 notification_list()->SetQuietMode(false); | 382 notification_list()->SetQuietMode(false); |
| 332 AddNotification(NULL); | 383 AddNotification(NULL); |
| 333 EXPECT_EQ(4u, notification_list()->NotificationCount()); | 384 EXPECT_EQ(4u, notification_list()->NotificationCount()); |
| 334 EXPECT_EQ(1u, GetPopupCounts()); | 385 EXPECT_EQ(1u, GetPopupCounts()); |
| 335 | 386 |
| 336 // TODO(mukai): Add test of quiet mode with expiration. | 387 // TODO(mukai): Add test of quiet mode with expiration. |
| 337 } | 388 } |
| 338 | 389 |
| 339 } // namespace message_center | 390 } // namespace message_center |
| OLD | NEW |