| 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 "ash/system/web_notification/web_notification_tray.h" | 5 #include "ash/system/web_notification/web_notification_tray.h" | 
| 6 | 6 | 
| 7 #include <vector> | 7 #include <vector> | 
| 8 | 8 | 
| 9 #include "ash/root_window_controller.h" | 9 #include "ash/root_window_controller.h" | 
| 10 #include "ash/shelf/shelf_widget.h" | 10 #include "ash/shelf/shelf_widget.h" | 
| (...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 189 | 189 | 
| 190 | 190 | 
| 191 TEST_F(WebNotificationTrayTest, ManyMessageCenterNotifications) { | 191 TEST_F(WebNotificationTrayTest, ManyMessageCenterNotifications) { | 
| 192   WebNotificationTray* tray = GetWebNotificationTray(); | 192   WebNotificationTray* tray = GetWebNotificationTray(); | 
| 193   scoped_ptr<TestDelegate> delegate(new TestDelegate(get_message_center())); | 193   scoped_ptr<TestDelegate> delegate(new TestDelegate(get_message_center())); | 
| 194 | 194 | 
| 195   // Add the max visible notifications +1, ensure the correct visible number. | 195   // Add the max visible notifications +1, ensure the correct visible number. | 
| 196   size_t notifications_to_add = | 196   size_t notifications_to_add = | 
| 197       NotificationList::kMaxVisibleMessageCenterNotifications + 1; | 197       NotificationList::kMaxVisibleMessageCenterNotifications + 1; | 
| 198   for (size_t i = 0; i < notifications_to_add; ++i) { | 198   for (size_t i = 0; i < notifications_to_add; ++i) { | 
| 199     std::string id = StringPrintf("test_id%d", static_cast<int>(i)); | 199     std::string id = base::StringPrintf("test_id%d", static_cast<int>(i)); | 
| 200     delegate->AddNotification(tray, id); | 200     delegate->AddNotification(tray, id); | 
| 201   } | 201   } | 
| 202   bool shown = tray->message_center_tray_->ShowMessageCenterBubble(); | 202   bool shown = tray->message_center_tray_->ShowMessageCenterBubble(); | 
| 203   EXPECT_TRUE(shown); | 203   EXPECT_TRUE(shown); | 
| 204   RunAllPendingInMessageLoop(); | 204   RunAllPendingInMessageLoop(); | 
| 205   EXPECT_TRUE(tray->message_center_bubble() != NULL); | 205   EXPECT_TRUE(tray->message_center_bubble() != NULL); | 
| 206   EXPECT_EQ(notifications_to_add, | 206   EXPECT_EQ(notifications_to_add, | 
| 207             get_message_center()->NotificationCount()); | 207             get_message_center()->NotificationCount()); | 
| 208   EXPECT_EQ(NotificationList::kMaxVisibleMessageCenterNotifications, | 208   EXPECT_EQ(NotificationList::kMaxVisibleMessageCenterNotifications, | 
| 209             tray->GetMessageCenterBubbleForTest()->NumMessageViewsForTest()); | 209             tray->GetMessageCenterBubbleForTest()->NumMessageViewsForTest()); | 
| 210 } | 210 } | 
| 211 | 211 | 
| 212 TEST_F(WebNotificationTrayTest, ManyPopupNotifications) { | 212 TEST_F(WebNotificationTrayTest, ManyPopupNotifications) { | 
| 213   WebNotificationTray* tray = GetWebNotificationTray(); | 213   WebNotificationTray* tray = GetWebNotificationTray(); | 
| 214   scoped_ptr<TestDelegate> delegate(new TestDelegate(get_message_center())); | 214   scoped_ptr<TestDelegate> delegate(new TestDelegate(get_message_center())); | 
| 215 | 215 | 
| 216   // Add the max visible popup notifications +1, ensure the correct num visible. | 216   // Add the max visible popup notifications +1, ensure the correct num visible. | 
| 217   size_t notifications_to_add = | 217   size_t notifications_to_add = | 
| 218       NotificationList::kMaxVisiblePopupNotifications + 1; | 218       NotificationList::kMaxVisiblePopupNotifications + 1; | 
| 219   for (size_t i = 0; i < notifications_to_add; ++i) { | 219   for (size_t i = 0; i < notifications_to_add; ++i) { | 
| 220     std::string id = StringPrintf("test_id%d", static_cast<int>(i)); | 220     std::string id = base::StringPrintf("test_id%d", static_cast<int>(i)); | 
| 221     delegate->AddNotification(tray, id); | 221     delegate->AddNotification(tray, id); | 
| 222   } | 222   } | 
| 223   // Hide and reshow the bubble so that it is updated immediately, not delayed. | 223   // Hide and reshow the bubble so that it is updated immediately, not delayed. | 
| 224   tray->SetHidePopupBubble(true); | 224   tray->SetHidePopupBubble(true); | 
| 225   tray->SetHidePopupBubble(false); | 225   tray->SetHidePopupBubble(false); | 
| 226   EXPECT_TRUE(tray->IsPopupVisible()); | 226   EXPECT_TRUE(tray->IsPopupVisible()); | 
| 227   EXPECT_EQ(notifications_to_add, | 227   EXPECT_EQ(notifications_to_add, | 
| 228             get_message_center()->NotificationCount()); | 228             get_message_center()->NotificationCount()); | 
| 229   if (message_center::IsRichNotificationEnabled()) { | 229   if (message_center::IsRichNotificationEnabled()) { | 
| 230     NotificationList::PopupNotifications popups = | 230     NotificationList::PopupNotifications popups = | 
| 231         get_message_center()->notification_list()->GetPopupNotifications(); | 231         get_message_center()->notification_list()->GetPopupNotifications(); | 
| 232     EXPECT_EQ(NotificationList::kMaxVisiblePopupNotifications, popups.size()); | 232     EXPECT_EQ(NotificationList::kMaxVisiblePopupNotifications, popups.size()); | 
| 233   } else { | 233   } else { | 
| 234     EXPECT_EQ(NotificationList::kMaxVisiblePopupNotifications, | 234     EXPECT_EQ(NotificationList::kMaxVisiblePopupNotifications, | 
| 235               tray->GetPopupBubbleForTest()->NumMessageViewsForTest()); | 235               tray->GetPopupBubbleForTest()->NumMessageViewsForTest()); | 
| 236   } | 236   } | 
| 237   get_message_center()->SetDelegate(NULL); | 237   get_message_center()->SetDelegate(NULL); | 
| 238   get_message_center()->notification_list()->RemoveAllNotifications(); | 238   get_message_center()->notification_list()->RemoveAllNotifications(); | 
| 239 } | 239 } | 
| 240 | 240 | 
| 241 }  // namespace ash | 241 }  // namespace ash | 
| OLD | NEW | 
|---|