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

Side by Side Diff: ash/system/web_notification/web_notification_tray_unittest.cc

Issue 2583393002: Send notification to users upon receiving sms messages (Closed)
Patch Set: update return type Created 3 years, 10 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
« no previous file with comments | « ash/shelf/shelf_layout_manager_unittest.cc ('k') | ash/test/test_system_tray_item.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/common/system/web_notification/web_notification_tray.h" 5 #include "ash/common/system/web_notification/web_notification_tray.h"
6 6
7 #include <utility> 7 #include <utility>
8 #include <vector> 8 #include <vector>
9 9
10 #include "ash/common/material_design/material_design_controller.h" 10 #include "ash/common/material_design/material_design_controller.h"
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 public: 73 public:
74 TestItem() : SystemTrayItem(GetSystemTray(), UMA_TEST) {} 74 TestItem() : SystemTrayItem(GetSystemTray(), UMA_TEST) {}
75 75
76 views::View* CreateDefaultView(LoginStatus status) override { 76 views::View* CreateDefaultView(LoginStatus status) override {
77 views::View* default_view = new views::View; 77 views::View* default_view = new views::View;
78 default_view->SetLayoutManager(new views::FillLayout); 78 default_view->SetLayoutManager(new views::FillLayout);
79 default_view->AddChildView(new views::Label(base::UTF8ToUTF16("Default"))); 79 default_view->AddChildView(new views::Label(base::UTF8ToUTF16("Default")));
80 return default_view; 80 return default_view;
81 } 81 }
82 82
83 views::View* CreateNotificationView(LoginStatus status) override {
84 return new views::View;
85 }
86
87 private: 83 private:
88 DISALLOW_COPY_AND_ASSIGN(TestItem); 84 DISALLOW_COPY_AND_ASSIGN(TestItem);
89 }; 85 };
90 86
91 } // namespace 87 } // namespace
92 88
93 // TODO(jamescook): Move this to //ash/common. http://crbug.com/620955 89 // TODO(jamescook): Move this to //ash/common. http://crbug.com/620955
94 class WebNotificationTrayTest : public test::AshMDTestBase { 90 class WebNotificationTrayTest : public test::AshMDTestBase {
95 public: 91 public:
96 WebNotificationTrayTest() {} 92 WebNotificationTrayTest() {}
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
304 AddNotification("test_id"); 300 AddNotification("test_id");
305 EXPECT_TRUE(GetTray()->IsPopupVisible()); 301 EXPECT_TRUE(GetTray()->IsPopupVisible());
306 int bottom = GetPopupWorkAreaBottom(); 302 int bottom = GetPopupWorkAreaBottom();
307 303
308 // System tray is created, the popup's work area should be narrowed but still 304 // System tray is created, the popup's work area should be narrowed but still
309 // visible. 305 // visible.
310 GetSystemTray()->ShowDefaultView(BUBBLE_CREATE_NEW); 306 GetSystemTray()->ShowDefaultView(BUBBLE_CREATE_NEW);
311 EXPECT_TRUE(GetTray()->IsPopupVisible()); 307 EXPECT_TRUE(GetTray()->IsPopupVisible());
312 int bottom_with_tray = GetPopupWorkAreaBottom(); 308 int bottom_with_tray = GetPopupWorkAreaBottom();
313 EXPECT_GT(bottom, bottom_with_tray); 309 EXPECT_GT(bottom, bottom_with_tray);
314
315 // System tray notification is also created, the popup's work area is narrowed
316 // even more, but still visible.
317 GetSystemTray()->ShowNotificationView(test_item);
318 EXPECT_TRUE(GetTray()->IsPopupVisible());
319 int bottom_with_tray_notification = GetPopupWorkAreaBottom();
320 EXPECT_GT(bottom, bottom_with_tray_notification);
321 EXPECT_GT(bottom_with_tray, bottom_with_tray_notification);
322
323 // Close system tray, only system tray notifications.
324 GetSystemTray()->ClickedOutsideBubble();
325 EXPECT_TRUE(GetTray()->IsPopupVisible());
326 int bottom_with_notification = GetPopupWorkAreaBottom();
327 EXPECT_GT(bottom, bottom_with_notification);
328 EXPECT_LT(bottom_with_tray_notification, bottom_with_notification);
329
330 // Close the system tray notifications.
331 GetSystemTray()->HideNotificationView(test_item);
332 EXPECT_TRUE(GetTray()->IsPopupVisible());
333 EXPECT_EQ(bottom, GetPopupWorkAreaBottom());
334 } 310 }
335 311
336 TEST_P(WebNotificationTrayTest, PopupAndAutoHideShelf) { 312 TEST_P(WebNotificationTrayTest, PopupAndAutoHideShelf) {
337 AddNotification("test_id"); 313 AddNotification("test_id");
338 EXPECT_TRUE(GetTray()->IsPopupVisible()); 314 EXPECT_TRUE(GetTray()->IsPopupVisible());
339 int bottom = GetPopupWorkAreaBottom(); 315 int bottom = GetPopupWorkAreaBottom();
340 316
341 // Shelf's auto-hide state won't be HIDDEN unless window exists. 317 // Shelf's auto-hide state won't be HIDDEN unless window exists.
342 std::unique_ptr<views::Widget> widget(CreateTestWidget()); 318 std::unique_ptr<views::Widget> widget(CreateTestWidget());
343 WmShelf* shelf = GetPrimaryShelf(); 319 WmShelf* shelf = GetPrimaryShelf();
(...skipping 13 matching lines...) Expand all
357 widget = CreateTestWidget(); 333 widget = CreateTestWidget();
358 TestItem* test_item = new TestItem; 334 TestItem* test_item = new TestItem;
359 GetSystemTray()->AddTrayItem(base::WrapUnique(test_item)); 335 GetSystemTray()->AddTrayItem(base::WrapUnique(test_item));
360 GetSystemTray()->ShowDefaultView(BUBBLE_CREATE_NEW); 336 GetSystemTray()->ShowDefaultView(BUBBLE_CREATE_NEW);
361 UpdateAutoHideStateNow(); 337 UpdateAutoHideStateNow();
362 338
363 EXPECT_EQ(SHELF_AUTO_HIDE_SHOWN, shelf->GetAutoHideState()); 339 EXPECT_EQ(SHELF_AUTO_HIDE_SHOWN, shelf->GetAutoHideState());
364 EXPECT_TRUE(GetTray()->IsPopupVisible()); 340 EXPECT_TRUE(GetTray()->IsPopupVisible());
365 int bottom_with_tray = GetPopupWorkAreaBottom(); 341 int bottom_with_tray = GetPopupWorkAreaBottom();
366 EXPECT_GT(bottom_auto_shown, bottom_with_tray); 342 EXPECT_GT(bottom_auto_shown, bottom_with_tray);
367
368 // Create tray notification.
369 GetSystemTray()->ShowNotificationView(test_item);
370 EXPECT_EQ(SHELF_AUTO_HIDE_SHOWN, shelf->GetAutoHideState());
371 int bottom_with_tray_notification = GetPopupWorkAreaBottom();
372 EXPECT_GT(bottom_with_tray, bottom_with_tray_notification);
373
374 // Close the system tray.
375 GetSystemTray()->ClickedOutsideBubble();
376 shelf->UpdateAutoHideState();
377 RunAllPendingInMessageLoop();
378 EXPECT_EQ(SHELF_AUTO_HIDE_HIDDEN, shelf->GetAutoHideState());
379 int bottom_hidden_with_tray_notification = GetPopupWorkAreaBottom();
380 EXPECT_LT(bottom_with_tray_notification,
381 bottom_hidden_with_tray_notification);
382 EXPECT_GT(bottom_auto_hidden, bottom_hidden_with_tray_notification);
383
384 // Close the window again, which shows the shelf.
385 widget.reset();
386 EXPECT_EQ(SHELF_AUTO_HIDE_SHOWN, shelf->GetAutoHideState());
387 int bottom_shown_with_tray_notification = GetPopupWorkAreaBottom();
388 EXPECT_GT(bottom_hidden_with_tray_notification,
389 bottom_shown_with_tray_notification);
390 EXPECT_GT(bottom_auto_shown, bottom_shown_with_tray_notification);
391 } 343 }
392 344
393 TEST_P(WebNotificationTrayTest, PopupAndFullscreen) { 345 TEST_P(WebNotificationTrayTest, PopupAndFullscreen) {
394 AddNotification("test_id"); 346 AddNotification("test_id");
395 EXPECT_TRUE(IsPopupVisible()); 347 EXPECT_TRUE(IsPopupVisible());
396 int bottom = GetPopupWorkAreaBottom(); 348 int bottom = GetPopupWorkAreaBottom();
397 349
398 // Checks the work area for normal auto-hidden state. 350 // Checks the work area for normal auto-hidden state.
399 std::unique_ptr<views::Widget> widget(CreateTestWidget()); 351 std::unique_ptr<views::Widget> widget(CreateTestWidget());
400 WmShelf* shelf = GetPrimaryShelf(); 352 WmShelf* shelf = GetPrimaryShelf();
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
500 gfx::Point out_of_bounds(bounds.x() - 1, center_point.y()); 452 gfx::Point out_of_bounds(bounds.x() - 1, center_point.y());
501 generator.MoveTouch(out_of_bounds); 453 generator.MoveTouch(out_of_bounds);
502 EXPECT_FALSE(tray->is_active()); 454 EXPECT_FALSE(tray->is_active());
503 455
504 generator.ReleaseTouch(); 456 generator.ReleaseTouch();
505 EXPECT_FALSE(tray->is_active()); 457 EXPECT_FALSE(tray->is_active());
506 EXPECT_FALSE(tray->IsMessageCenterBubbleVisible()); 458 EXPECT_FALSE(tray->IsMessageCenterBubbleVisible());
507 } 459 }
508 460
509 } // namespace ash 461 } // namespace ash
OLDNEW
« no previous file with comments | « ash/shelf/shelf_layout_manager_unittest.cc ('k') | ash/test/test_system_tray_item.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698