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

Side by Side Diff: chrome/browser/ui/views/message_center/web_notification_tray_browsertest.cc

Issue 1334363002: [Eraser] First pass at removing the notification center panel. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: peter comments Created 5 years, 3 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
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 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 "chrome/browser/ui/views/message_center/web_notification_tray.h" 5 #include "chrome/browser/ui/views/message_center/web_notification_tray.h"
6 6
7 #include <set> 7 #include <set>
8 8
9 #include "ash/root_window_controller.h" 9 #include "ash/root_window_controller.h"
10 #include "ash/system/status_area_widget.h" 10 #include "ash/system/status_area_widget.h"
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 EXPECT_FALSE(HasNotification(message_center, "test_id1")); 138 EXPECT_FALSE(HasNotification(message_center, "test_id1"));
139 EXPECT_EQ(1u, message_center->NotificationCount()); 139 EXPECT_EQ(1u, message_center->NotificationCount());
140 140
141 // Remove the remaining notification. 141 // Remove the remaining notification.
142 RemoveNotification("test_id3"); 142 RemoveNotification("test_id3");
143 EXPECT_EQ(0u, message_center->NotificationCount()); 143 EXPECT_EQ(0u, message_center->NotificationCount());
144 EXPECT_FALSE(HasNotification(message_center, "test_id1")); 144 EXPECT_FALSE(HasNotification(message_center, "test_id1"));
145 } 145 }
146 146
147 IN_PROC_BROWSER_TEST_F(WebNotificationTrayTest, WebNotificationPopupBubble) { 147 IN_PROC_BROWSER_TEST_F(WebNotificationTrayTest, WebNotificationPopupBubble) {
148 scoped_ptr<WebNotificationTray> tray(new WebNotificationTray(NULL)); 148 scoped_ptr<WebNotificationTray> tray(new WebNotificationTray());
149 tray->message_center(); 149 tray->message_center();
150 150
151 // Adding a notification should show the popup bubble. 151 // Adding a notification should show the popup bubble.
152 AddNotification("test_id1", "replace_id1"); 152 AddNotification("test_id1", "replace_id1");
153 EXPECT_TRUE(tray->message_center_tray_->popups_visible()); 153 EXPECT_TRUE(tray->message_center_tray_->popups_visible());
154 154
155 // Updating a notification should not hide the popup bubble. 155 // Updating a notification should not hide the popup bubble.
156 AddNotification("test_id2", "replace_id2"); 156 AddNotification("test_id2", "replace_id2");
157 UpdateNotification("replace_id2", "test_id3"); 157 UpdateNotification("replace_id2", "test_id3");
158 EXPECT_TRUE(tray->message_center_tray_->popups_visible()); 158 EXPECT_TRUE(tray->message_center_tray_->popups_visible());
159 159
160 // Removing the first notification should not hide the popup bubble. 160 // Removing the first notification should not hide the popup bubble.
161 RemoveNotification("test_id1"); 161 RemoveNotification("test_id1");
162 EXPECT_TRUE(tray->message_center_tray_->popups_visible()); 162 EXPECT_TRUE(tray->message_center_tray_->popups_visible());
163 163
164 // Removing the visible notification should hide the popup bubble. 164 // Removing the visible notification should hide the popup bubble.
165 RemoveNotification("test_id3"); 165 RemoveNotification("test_id3");
166 EXPECT_FALSE(tray->message_center_tray_->popups_visible()); 166 EXPECT_FALSE(tray->message_center_tray_->popups_visible());
167 } 167 }
168 168
169 using message_center::NotificationList; 169 using message_center::NotificationList;
170 170
171 // Flaky, see http://crbug.com/222500 .
172 IN_PROC_BROWSER_TEST_F(WebNotificationTrayTest,
173 DISABLED_ManyMessageCenterNotifications) {
174 scoped_ptr<WebNotificationTray> tray(new WebNotificationTray(NULL));
175 message_center::MessageCenter* message_center = tray->message_center();
176
177 // Add the max visible notifications +1, ensure the correct visible number.
178 size_t notifications_to_add = kMaxVisibleMessageCenterNotifications + 1;
179 for (size_t i = 0; i < notifications_to_add; ++i) {
180 std::string id = base::StringPrintf("test_id%d", static_cast<int>(i));
181 std::string replace_id =
182 base::StringPrintf("replace_id%d", static_cast<int>(i));
183 AddNotification(id, replace_id);
184 }
185 bool shown = tray->message_center_tray_->ShowMessageCenterBubble();
186 EXPECT_TRUE(shown);
187 content::RunAllPendingInMessageLoop();
188 EXPECT_TRUE(tray->message_center_delegate_ != NULL);
189 EXPECT_EQ(notifications_to_add, message_center->NotificationCount());
190 EXPECT_EQ(kMaxVisibleMessageCenterNotifications,
191 tray->message_center_delegate_->NumMessageViewsForTest());
192 }
193
194 IN_PROC_BROWSER_TEST_F(WebNotificationTrayTest, ManyPopupNotifications) { 171 IN_PROC_BROWSER_TEST_F(WebNotificationTrayTest, ManyPopupNotifications) {
195 scoped_ptr<WebNotificationTray> tray(new WebNotificationTray(NULL)); 172 scoped_ptr<WebNotificationTray> tray(new WebNotificationTray());
196 message_center::MessageCenter* message_center = tray->message_center(); 173 message_center::MessageCenter* message_center = tray->message_center();
197 174
198 // Add the max visible popup notifications +1, ensure the correct num visible. 175 // Add the max visible popup notifications +1, ensure the correct num visible.
199 size_t notifications_to_add = kMaxVisiblePopupNotifications + 1; 176 size_t notifications_to_add = kMaxVisiblePopupNotifications + 1;
200 for (size_t i = 0; i < notifications_to_add; ++i) { 177 for (size_t i = 0; i < notifications_to_add; ++i) {
201 std::string id = base::StringPrintf("test_id%d", static_cast<int>(i)); 178 std::string id = base::StringPrintf("test_id%d", static_cast<int>(i));
202 std::string replace_id = 179 std::string replace_id =
203 base::StringPrintf("replace_id%d", static_cast<int>(i)); 180 base::StringPrintf("replace_id%d", static_cast<int>(i));
204 AddNotification(id, replace_id); 181 AddNotification(id, replace_id);
205 } 182 }
206 // Hide and reshow the bubble so that it is updated immediately, not delayed. 183 // Hide and reshow the bubble so that it is updated immediately, not delayed.
207 tray->message_center_tray_->HidePopupBubble(); 184 tray->message_center_tray_->HidePopupBubble();
208 tray->message_center_tray_->ShowPopupBubble(); 185 tray->message_center_tray_->ShowPopupBubble();
209 EXPECT_TRUE(tray->message_center_tray_->popups_visible()); 186 EXPECT_TRUE(tray->message_center_tray_->popups_visible());
210 EXPECT_EQ(notifications_to_add, message_center->NotificationCount()); 187 EXPECT_EQ(notifications_to_add, message_center->NotificationCount());
211 NotificationList::PopupNotifications popups = 188 NotificationList::PopupNotifications popups =
212 message_center->GetPopupNotifications(); 189 message_center->GetPopupNotifications();
213 EXPECT_EQ(kMaxVisiblePopupNotifications, popups.size()); 190 EXPECT_EQ(kMaxVisiblePopupNotifications, popups.size());
214 } 191 }
215 192
216 IN_PROC_BROWSER_TEST_F(WebNotificationTrayTest,
217 ManuallyCloseMessageCenter) {
218 NotificationUIManager* manager = g_browser_process->notification_ui_manager();
219 MessageCenterNotificationManager* mc_manager =
220 static_cast<MessageCenterNotificationManager*>(manager);
221
222 WebNotificationTray* tray =
223 static_cast<WebNotificationTray*>(mc_manager->tray_.get());
224 ASSERT_TRUE(NULL != tray);
225
226 message_center::MessageCenter* message_center = tray->message_center();
227
228 bool shown = tray->message_center_tray_->ShowMessageCenterBubble();
229 EXPECT_TRUE(shown);
230 EXPECT_TRUE(message_center->IsMessageCenterVisible());
231
232 mc_manager->EnsureMessageCenterClosed();
233
234 EXPECT_FALSE(message_center->IsMessageCenterVisible());
235 if (NULL != tray->message_center_delegate_)
236 EXPECT_TRUE(tray->message_center_delegate_->GetWidget()->IsClosed());
237 }
238
239 #if defined(OS_LINUX) && !defined(OS_CHROMEOS)
240 #define MAYBE_StatusIconBehavior DISABLED_StatusIconBehavior
241 #else
242 #define MAYBE_StatusIconBehavior StatusIconBehavior
243 #endif
244 IN_PROC_BROWSER_TEST_F(WebNotificationTrayTest, MAYBE_StatusIconBehavior) {
245 scoped_ptr<WebNotificationTray> tray(new WebNotificationTray(NULL));
246
247 EXPECT_TRUE(tray->status_icon_ == NULL);
248 tray->OnMessageCenterTrayChanged();
249 base::RunLoop().RunUntilIdle();
250 EXPECT_TRUE(tray->status_icon_ == NULL);
251 AddNotification("test_id", "replace_id");
252 base::RunLoop().RunUntilIdle();
253 EXPECT_TRUE(tray->status_icon_ != NULL);
254 RemoveNotification("test_id");
255 base::RunLoop().RunUntilIdle();
256 EXPECT_TRUE(tray->status_icon_ == NULL);
257 }
258 } // namespace message_center 193 } // namespace message_center
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698