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

Unified Diff: ash/system/tray/tray_details_view_unittest.cc

Issue 2084733002: mash: Move tray accessibility and keyboard to //ash/common (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@typenamespace
Patch Set: rebase Created 4 years, 6 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ash/system/tray/tray_details_view.cc ('k') | ash/system/tray_accessibility.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ash/system/tray/tray_details_view_unittest.cc
diff --git a/ash/system/tray/tray_details_view_unittest.cc b/ash/system/tray/tray_details_view_unittest.cc
deleted file mode 100644
index 4f4e4626c4c464ac18c39bb187ce48661b091251..0000000000000000000000000000000000000000
--- a/ash/system/tray/tray_details_view_unittest.cc
+++ /dev/null
@@ -1,275 +0,0 @@
-// Copyright 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "ash/system/tray/tray_details_view.h"
-
-#include "ash/common/system/tray/hover_highlight_view.h"
-#include "ash/common/system/tray/special_popup_row.h"
-#include "ash/common/system/tray/system_tray_item.h"
-#include "ash/common/system/tray/tray_popup_header_button.h"
-#include "ash/common/system/tray/view_click_listener.h"
-#include "ash/system/tray/system_tray.h"
-#include "ash/test/ash_test_base.h"
-#include "base/run_loop.h"
-#include "grit/ash_resources.h"
-#include "grit/ash_strings.h"
-#include "ui/events/test/event_generator.h"
-#include "ui/views/controls/button/button.h"
-#include "ui/views/view.h"
-#include "ui/views/widget/widget.h"
-
-namespace ash {
-namespace test {
-
-namespace {
-
-class TestDetailsView : public TrayDetailsView,
- public ViewClickListener,
- public views::ButtonListener {
- public:
- explicit TestDetailsView(SystemTrayItem* owner) : TrayDetailsView(owner) {
- // Uses bluetooth label for testing purpose. It can be changed to any
- // string_id.
- CreateSpecialRow(IDS_ASH_STATUS_TRAY_BLUETOOTH, this);
- tray_popup_header_button_ =
- new TrayPopupHeaderButton(this, IDR_AURA_UBER_TRAY_BLUETOOTH_ENABLED,
- IDR_AURA_UBER_TRAY_BLUETOOTH_DISABLED,
- IDR_AURA_UBER_TRAY_BLUETOOTH_ENABLED_HOVER,
- IDR_AURA_UBER_TRAY_BLUETOOTH_DISABLED_HOVER,
- IDS_ASH_STATUS_TRAY_BLUETOOTH);
- footer()->AddButton(tray_popup_header_button_);
- }
-
- ~TestDetailsView() override {}
-
- TrayPopupHeaderButton* tray_popup_header_button() {
- return tray_popup_header_button_;
- }
-
- void FocusFooter() {
- footer()->content()->RequestFocus();
- }
-
- // ViewClickListener:
- void OnViewClicked(views::View* sender) override {}
-
- // views::ButtonListener:
- void ButtonPressed(views::Button* sender, const ui::Event& event) override {}
-
- private:
- TrayPopupHeaderButton* tray_popup_header_button_;
-
- DISALLOW_COPY_AND_ASSIGN(TestDetailsView);
-};
-
-// Trivial item implementation that tracks its views for testing.
-class TestItem : public SystemTrayItem {
- public:
- TestItem()
- : SystemTrayItem(AshTestBase::GetPrimarySystemTray()),
- tray_view_(nullptr),
- default_view_(nullptr),
- detailed_view_(nullptr) {}
-
- // Overridden from SystemTrayItem:
- views::View* CreateTrayView(LoginStatus status) override {
- tray_view_ = new views::View;
- return tray_view_;
- }
- views::View* CreateDefaultView(LoginStatus status) override {
- default_view_ = new views::View;
- default_view_->SetFocusBehavior(views::View::FocusBehavior::ALWAYS);
- return default_view_;
- }
- views::View* CreateDetailedView(LoginStatus status) override {
- detailed_view_ = new TestDetailsView(this);
- return detailed_view_;
- }
- void DestroyTrayView() override { tray_view_ = NULL; }
- void DestroyDefaultView() override { default_view_ = NULL; }
- void DestroyDetailedView() override { detailed_view_ = NULL; }
-
- views::View* tray_view() const { return tray_view_; }
- views::View* default_view() const { return default_view_; }
- TestDetailsView* detailed_view() const { return detailed_view_; }
-
- private:
- views::View* tray_view_;
- views::View* default_view_;
- TestDetailsView* detailed_view_;
-
- DISALLOW_COPY_AND_ASSIGN(TestItem);
-};
-
-} // namespace
-
-class TrayDetailsViewTest : public AshTestBase {
- public:
- TrayDetailsViewTest() {}
- ~TrayDetailsViewTest() override {}
-
- HoverHighlightView* CreateAndShowHoverHighlightView() {
- SystemTray* tray = GetPrimarySystemTray();
- TestItem* test_item = new TestItem;
- tray->AddTrayItem(test_item);
- tray->ShowDefaultView(BUBBLE_CREATE_NEW);
- RunAllPendingInMessageLoop();
- tray->ShowDetailedView(test_item, 0, true, BUBBLE_USE_EXISTING);
- RunAllPendingInMessageLoop();
-
- return static_cast<HoverHighlightView*>(test_item->detailed_view()->
- footer()->content());
- }
-
- TrayPopupHeaderButton* CreateAndShowTrayPopupHeaderButton() {
- SystemTray* tray = GetPrimarySystemTray();
- TestItem* test_item = new TestItem;
- tray->AddTrayItem(test_item);
- tray->ShowDefaultView(BUBBLE_CREATE_NEW);
- RunAllPendingInMessageLoop();
- tray->ShowDetailedView(test_item, 0, true, BUBBLE_USE_EXISTING);
- RunAllPendingInMessageLoop();
-
- return test_item->detailed_view()->tray_popup_header_button();
- }
-
- private:
- DISALLOW_COPY_AND_ASSIGN(TrayDetailsViewTest);
-};
-
-TEST_F(TrayDetailsViewTest, TransitionToDefaultViewTest) {
- SystemTray* tray = GetPrimarySystemTray();
- ASSERT_TRUE(tray->GetWidget());
-
- TestItem* test_item_1 = new TestItem;
- TestItem* test_item_2 = new TestItem;
- tray->AddTrayItem(test_item_1);
- tray->AddTrayItem(test_item_2);
-
- // Ensure the tray views are created.
- ASSERT_TRUE(test_item_1->tray_view() != NULL);
- ASSERT_TRUE(test_item_2->tray_view() != NULL);
-
- // Show the default view.
- tray->ShowDefaultView(BUBBLE_CREATE_NEW);
- RunAllPendingInMessageLoop();
-
- // Show the detailed view of item 2.
- tray->ShowDetailedView(test_item_2, 0, true, BUBBLE_USE_EXISTING);
- EXPECT_TRUE(test_item_2->detailed_view());
- RunAllPendingInMessageLoop();
- EXPECT_FALSE(test_item_2->default_view());
-
- // Transition back to default view, the default view of item 2 should have
- // focus.
- test_item_2->detailed_view()->FocusFooter();
- test_item_2->detailed_view()->TransitionToDefaultView();
- RunAllPendingInMessageLoop();
-
- EXPECT_TRUE(test_item_2->default_view());
- EXPECT_FALSE(test_item_2->detailed_view());
- EXPECT_TRUE(test_item_2->default_view()->HasFocus());
-
- // Show the detailed view of item 2 again.
- tray->ShowDetailedView(test_item_2, 0, true, BUBBLE_USE_EXISTING);
- EXPECT_TRUE(test_item_2->detailed_view());
- RunAllPendingInMessageLoop();
- EXPECT_FALSE(test_item_2->default_view());
-
- // Transition back to default view, the default view of item 2 should NOT have
- // focus.
- test_item_2->detailed_view()->TransitionToDefaultView();
- RunAllPendingInMessageLoop();
-
- EXPECT_TRUE(test_item_2->default_view());
- EXPECT_FALSE(test_item_2->detailed_view());
- EXPECT_FALSE(test_item_2->default_view()->HasFocus());
-}
-
-// Tests that HoverHighlightView enters hover state in response to touch.
-TEST_F(TrayDetailsViewTest, HoverHighlightViewTouchFeedback) {
- HoverHighlightView* view = CreateAndShowHoverHighlightView();
- EXPECT_FALSE(view->hover());
-
- ui::test::EventGenerator& generator = GetEventGenerator();
- generator.set_current_location(view->GetBoundsInScreen().CenterPoint());
- generator.PressTouch();
- EXPECT_TRUE(view->hover());
-
- generator.ReleaseTouch();
- EXPECT_FALSE(view->hover());
-}
-
-// Tests that touch events leaving HoverHighlightView cancel the hover state.
-TEST_F(TrayDetailsViewTest, HoverHighlightViewTouchFeedbackCancellation) {
- HoverHighlightView* view = CreateAndShowHoverHighlightView();
- EXPECT_FALSE(view->hover());
-
- gfx::Rect view_bounds = view->GetBoundsInScreen();
- ui::test::EventGenerator& generator = GetEventGenerator();
- generator.set_current_location(view_bounds.CenterPoint());
- generator.PressTouch();
- EXPECT_TRUE(view->hover());
-
- gfx::Point move_point(view_bounds.x(), view_bounds.CenterPoint().y());
- generator.MoveTouch(move_point);
- EXPECT_FALSE(view->hover());
-
- generator.set_current_location(move_point);
- generator.ReleaseTouch();
- EXPECT_FALSE(view->hover());
-}
-
-// Tests that TrayPopupHeaderButton renders a background in response to touch.
-TEST_F(TrayDetailsViewTest, TrayPopupHeaderButtonTouchFeedback) {
- TrayPopupHeaderButton* button = CreateAndShowTrayPopupHeaderButton();
- EXPECT_FALSE(button->background());
-
- ui::test::EventGenerator& generator = GetEventGenerator();
- generator.set_current_location(button->GetBoundsInScreen().CenterPoint());
- generator.PressTouch();
- EXPECT_TRUE(button->background());
-
- generator.ReleaseTouch();
- EXPECT_FALSE(button->background());
-}
-
-// Tests that touch events leaving TrayPopupHeaderButton cancel the touch
-// feedback background.
-TEST_F(TrayDetailsViewTest, TrayPopupHeaderButtonTouchFeedbackCancellation) {
- TrayPopupHeaderButton* button = CreateAndShowTrayPopupHeaderButton();
- EXPECT_FALSE(button->background());
-
- gfx::Rect view_bounds = button->GetBoundsInScreen();
- ui::test::EventGenerator& generator = GetEventGenerator();
- generator.set_current_location(view_bounds.CenterPoint());
- generator.PressTouch();
- EXPECT_TRUE(button->background());
-
- gfx::Point move_point(view_bounds.x(), view_bounds.CenterPoint().y());
- generator.MoveTouch(move_point);
- EXPECT_FALSE(button->background());
-
- generator.set_current_location(move_point);
- generator.ReleaseTouch();
- EXPECT_FALSE(button->background());
-}
-
-// Tests that a mouse entering TrayPopupHeaderButton renders a background as
-// visual feedback.
-TEST_F(TrayDetailsViewTest, TrayPopupHeaderButtonMouseHoverFeedback) {
- TrayPopupHeaderButton* button = CreateAndShowTrayPopupHeaderButton();
- EXPECT_FALSE(button->background());
-
- ui::test::EventGenerator& generator = GetEventGenerator();
- gfx::Rect bounds = button->GetBoundsInScreen();
- gfx::Point initial_point(bounds.x() - 1, bounds.y());
- generator.set_current_location(initial_point);
- generator.MoveMouseBy(1, 0);
- RunAllPendingInMessageLoop();
- EXPECT_TRUE(button->background());
-}
-
-} // namespace test
-} // namespace ash
« no previous file with comments | « ash/system/tray/tray_details_view.cc ('k') | ash/system/tray_accessibility.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698