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

Unified Diff: ui/views/controls/button/custom_button_unittest.cc

Issue 2041033002: Moved ButtonInkDropDelegate logic into InkDropHostView and deleted InkDropDelegates. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed merge conflict in custom_button.cc 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 | « ui/views/controls/button/custom_button.cc ('k') | ui/views/controls/button/label_button_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/views/controls/button/custom_button_unittest.cc
diff --git a/ui/views/controls/button/custom_button_unittest.cc b/ui/views/controls/button/custom_button_unittest.cc
index 61c2a85627b09ac2f9e773e1909cff4cd4349042..02fbd456692b730137b6a2edf79c1608868baa05 100644
--- a/ui/views/controls/button/custom_button_unittest.cc
+++ b/ui/views/controls/button/custom_button_unittest.cc
@@ -13,9 +13,9 @@
#include "ui/display/screen.h"
#include "ui/events/event_utils.h"
#include "ui/events/test/event_generator.h"
-#include "ui/views/animation/ink_drop_delegate.h"
#include "ui/views/animation/ink_drop_host.h"
-#include "ui/views/animation/test/test_ink_drop_delegate.h"
+#include "ui/views/animation/test/ink_drop_host_view_test_api.h"
+#include "ui/views/animation/test/test_ink_drop.h"
#include "ui/views/animation/test/test_ink_drop_host.h"
#include "ui/views/context_menu_controller.h"
#include "ui/views/controls/button/checkbox.h"
@@ -35,7 +35,8 @@
namespace views {
-using test::TestInkDropDelegate;
+using test::InkDropHostViewTestApi;
+using test::TestInkDrop;
namespace {
@@ -88,57 +89,6 @@ class TestCustomButton : public CustomButton, public ButtonListener {
DISALLOW_COPY_AND_ASSIGN(TestCustomButton);
};
-// An InkDropDelegate that keeps track of ink drop visibility.
-class TestInkDropDelegateThatTracksVisibilty : public TestInkDropDelegate {
- public:
- TestInkDropDelegateThatTracksVisibilty(bool* ink_shown, bool* ink_hidden)
- : ink_shown_(ink_shown), ink_hidden_(ink_hidden) {}
- ~TestInkDropDelegateThatTracksVisibilty() override {}
-
- // InkDropDelegate:
- void OnAction(InkDropState state) override {
- TestInkDropDelegate::OnAction(state);
- switch (GetTargetInkDropState()) {
- case InkDropState::ACTION_PENDING:
- case InkDropState::ALTERNATE_ACTION_PENDING:
- case InkDropState::ACTIVATED:
- *ink_shown_ = true;
- break;
- case InkDropState::HIDDEN:
- *ink_hidden_ = true;
- break;
- case InkDropState::ACTION_TRIGGERED:
- case InkDropState::ALTERNATE_ACTION_TRIGGERED:
- case InkDropState::DEACTIVATED:
- break;
- }
- }
-
- void SnapToActivated() override { *ink_shown_ = true; }
-
- void SetHovered(bool is_hovered) override {}
- InkDrop* GetInkDrop() override { return nullptr; }
-
- private:
- bool* ink_shown_;
- bool* ink_hidden_;
-
- DISALLOW_COPY_AND_ASSIGN(TestInkDropDelegateThatTracksVisibilty);
-};
-
-// A test Button class that owns a TestInkDropDelegate.
-class TestButtonWithInkDrop : public TestCustomButton {
- public:
- TestButtonWithInkDrop(std::unique_ptr<InkDropDelegate> ink_drop_delegate)
- : TestCustomButton() {
- set_ink_drop_delegate(std::move(ink_drop_delegate));
- }
- ~TestButtonWithInkDrop() override {}
-
- private:
- DISALLOW_COPY_AND_ASSIGN(TestButtonWithInkDrop);
-};
-
} // namespace
class CustomButtonTest : public ViewsTestBase {
@@ -167,10 +117,10 @@ class CustomButtonTest : public ViewsTestBase {
ViewsTestBase::TearDown();
}
- void CreateButtonWithInkDrop(
- std::unique_ptr<InkDropDelegate> ink_drop_delegate) {
+ void CreateButtonWithInkDrop(std::unique_ptr<InkDrop> ink_drop) {
delete button_;
- button_ = new TestButtonWithInkDrop(std::move(ink_drop_delegate));
+ button_ = new TestCustomButton();
+ InkDropHostViewTestApi(button_).SetInkDrop(std::move(ink_drop));
widget_->SetContentsView(button_);
}
@@ -396,42 +346,36 @@ TEST_F(CustomButtonTest, AsCustomButton) {
// may enter a different ink drop state.
TEST_F(CustomButtonTest, ButtonClickTogglesInkDrop) {
gfx::Point old_cursor = display::Screen::GetScreen()->GetCursorScreenPoint();
- bool ink_shown = false;
- bool ink_hidden = false;
- CreateButtonWithInkDrop(base::WrapUnique(
- new TestInkDropDelegateThatTracksVisibilty(&ink_shown, &ink_hidden)));
+ TestInkDrop* ink_drop = new TestInkDrop();
+ CreateButtonWithInkDrop(base::WrapUnique(ink_drop));
ui::test::EventGenerator generator(GetContext(), widget()->GetNativeWindow());
generator.set_current_location(gfx::Point(50, 50));
generator.PressLeftButton();
- EXPECT_TRUE(ink_shown);
- EXPECT_FALSE(ink_hidden);
+ EXPECT_EQ(InkDropState::ACTION_PENDING, ink_drop->GetTargetInkDropState());
generator.ReleaseLeftButton();
- EXPECT_FALSE(ink_hidden);
+ EXPECT_EQ(InkDropState::ACTION_PENDING, ink_drop->GetTargetInkDropState());
}
// Tests that pressing a button shows and releasing capture hides ink drop.
// Releasing capture should also reset PRESSED button state to NORMAL.
TEST_F(CustomButtonTest, CaptureLossHidesInkDrop) {
gfx::Point old_cursor = display::Screen::GetScreen()->GetCursorScreenPoint();
- bool ink_shown = false;
- bool ink_hidden = false;
- CreateButtonWithInkDrop(base::WrapUnique(
- new TestInkDropDelegateThatTracksVisibilty(&ink_shown, &ink_hidden)));
+ TestInkDrop* ink_drop = new TestInkDrop();
+ CreateButtonWithInkDrop(base::WrapUnique(ink_drop));
ui::test::EventGenerator generator(GetContext(), widget()->GetNativeWindow());
generator.set_current_location(gfx::Point(50, 50));
generator.PressLeftButton();
- EXPECT_TRUE(ink_shown);
- EXPECT_FALSE(ink_hidden);
+ EXPECT_EQ(InkDropState::ACTION_PENDING, ink_drop->GetTargetInkDropState());
EXPECT_EQ(Button::ButtonState::STATE_PRESSED, button()->state());
SetDraggedView(button());
widget()->SetCapture(button());
widget()->ReleaseCapture();
SetDraggedView(nullptr);
- EXPECT_TRUE(ink_hidden);
+ EXPECT_EQ(InkDropState::HIDDEN, ink_drop->GetTargetInkDropState());
EXPECT_EQ(ui::MaterialDesignController::IsModeMaterial()
? Button::ButtonState::STATE_NORMAL
: Button::ButtonState::STATE_PRESSED,
@@ -439,54 +383,52 @@ TEST_F(CustomButtonTest, CaptureLossHidesInkDrop) {
}
TEST_F(CustomButtonTest, HideInkDropWhenShowingContextMenu) {
- TestInkDropDelegate* ink_drop_delegate = new TestInkDropDelegate();
- CreateButtonWithInkDrop(base::WrapUnique(ink_drop_delegate));
+ TestInkDrop* ink_drop = new TestInkDrop();
+ CreateButtonWithInkDrop(base::WrapUnique(ink_drop));
TestContextMenuController context_menu_controller;
button()->set_context_menu_controller(&context_menu_controller);
button()->set_hide_ink_drop_when_showing_context_menu(true);
- ink_drop_delegate->SetHovered(true);
- ink_drop_delegate->OnAction(InkDropState::ACTION_PENDING);
+ ink_drop->SetHovered(true);
+ ink_drop->AnimateToState(InkDropState::ACTION_PENDING);
button()->ShowContextMenu(gfx::Point(), ui::MENU_SOURCE_MOUSE);
- EXPECT_FALSE(ink_drop_delegate->is_hovered());
- EXPECT_EQ(InkDropState::HIDDEN, ink_drop_delegate->GetTargetInkDropState());
+ EXPECT_FALSE(ink_drop->is_hovered());
+ EXPECT_EQ(InkDropState::HIDDEN, ink_drop->GetTargetInkDropState());
}
TEST_F(CustomButtonTest, DontHideInkDropWhenShowingContextMenu) {
- TestInkDropDelegate* ink_drop_delegate = new TestInkDropDelegate();
- CreateButtonWithInkDrop(base::WrapUnique(ink_drop_delegate));
+ TestInkDrop* ink_drop = new TestInkDrop();
+ CreateButtonWithInkDrop(base::WrapUnique(ink_drop));
TestContextMenuController context_menu_controller;
button()->set_context_menu_controller(&context_menu_controller);
button()->set_hide_ink_drop_when_showing_context_menu(false);
- ink_drop_delegate->SetHovered(true);
- ink_drop_delegate->OnAction(InkDropState::ACTION_PENDING);
+ ink_drop->SetHovered(true);
+ ink_drop->AnimateToState(InkDropState::ACTION_PENDING);
button()->ShowContextMenu(gfx::Point(), ui::MENU_SOURCE_MOUSE);
- EXPECT_TRUE(ink_drop_delegate->is_hovered());
- EXPECT_EQ(InkDropState::ACTION_PENDING,
- ink_drop_delegate->GetTargetInkDropState());
+ EXPECT_TRUE(ink_drop->is_hovered());
+ EXPECT_EQ(InkDropState::ACTION_PENDING, ink_drop->GetTargetInkDropState());
}
TEST_F(CustomButtonTest, HideInkDropOnBlur) {
gfx::Point center(10, 10);
- TestInkDropDelegate* ink_drop_delegate = new TestInkDropDelegate();
- CreateButtonWithInkDrop(base::WrapUnique(ink_drop_delegate));
+ TestInkDrop* ink_drop = new TestInkDrop();
+ CreateButtonWithInkDrop(base::WrapUnique(ink_drop));
button()->OnFocus();
button()->OnMousePressed(ui::MouseEvent(
ui::ET_MOUSE_PRESSED, center, center, ui::EventTimeForNow(),
ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON));
- EXPECT_EQ(InkDropState::ACTION_PENDING,
- ink_drop_delegate->GetTargetInkDropState());
+ EXPECT_EQ(InkDropState::ACTION_PENDING, ink_drop->GetTargetInkDropState());
button()->OnBlur();
- EXPECT_EQ(InkDropState::HIDDEN, ink_drop_delegate->GetTargetInkDropState());
+ EXPECT_EQ(InkDropState::HIDDEN, ink_drop->GetTargetInkDropState());
button()->OnMouseReleased(ui::MouseEvent(
ui::ET_MOUSE_PRESSED, center, center, ui::EventTimeForNow(),
@@ -495,52 +437,49 @@ TEST_F(CustomButtonTest, HideInkDropOnBlur) {
}
TEST_F(CustomButtonTest, InkDropAfterTryingToShowContextMenu) {
- TestInkDropDelegate* ink_drop_delegate = new TestInkDropDelegate();
- CreateButtonWithInkDrop(base::WrapUnique(ink_drop_delegate));
+ TestInkDrop* ink_drop = new TestInkDrop();
+ CreateButtonWithInkDrop(base::WrapUnique(ink_drop));
button()->set_context_menu_controller(nullptr);
- ink_drop_delegate->SetHovered(true);
- ink_drop_delegate->OnAction(InkDropState::ACTION_PENDING);
+ ink_drop->SetHovered(true);
+ ink_drop->AnimateToState(InkDropState::ACTION_PENDING);
button()->ShowContextMenu(gfx::Point(), ui::MENU_SOURCE_MOUSE);
- EXPECT_TRUE(ink_drop_delegate->is_hovered());
- EXPECT_EQ(InkDropState::ACTION_PENDING,
- ink_drop_delegate->GetTargetInkDropState());
+ EXPECT_TRUE(ink_drop->is_hovered());
+ EXPECT_EQ(InkDropState::ACTION_PENDING, ink_drop->GetTargetInkDropState());
}
TEST_F(CustomButtonTest, InkDropShowHideOnMouseDragged) {
gfx::Point center(10, 10);
gfx::Point oob(-1, -1);
- TestInkDropDelegate* ink_drop_delegate = new TestInkDropDelegate();
- CreateButtonWithInkDrop(base::WrapUnique(ink_drop_delegate));
+ TestInkDrop* ink_drop = new TestInkDrop();
+ CreateButtonWithInkDrop(base::WrapUnique(ink_drop));
button()->OnMousePressed(ui::MouseEvent(
ui::ET_MOUSE_PRESSED, center, center, ui::EventTimeForNow(),
ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON));
- EXPECT_EQ(InkDropState::ACTION_PENDING,
- ink_drop_delegate->GetTargetInkDropState());
+ EXPECT_EQ(InkDropState::ACTION_PENDING, ink_drop->GetTargetInkDropState());
button()->OnMouseDragged(
ui::MouseEvent(ui::ET_MOUSE_PRESSED, oob, oob, ui::EventTimeForNow(),
ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON));
- EXPECT_EQ(InkDropState::HIDDEN, ink_drop_delegate->GetTargetInkDropState());
+ EXPECT_EQ(InkDropState::HIDDEN, ink_drop->GetTargetInkDropState());
button()->OnMouseDragged(ui::MouseEvent(
ui::ET_MOUSE_PRESSED, center, center, ui::EventTimeForNow(),
ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON));
- EXPECT_EQ(InkDropState::ACTION_PENDING,
- ink_drop_delegate->GetTargetInkDropState());
+ EXPECT_EQ(InkDropState::ACTION_PENDING, ink_drop->GetTargetInkDropState());
button()->OnMouseDragged(
ui::MouseEvent(ui::ET_MOUSE_PRESSED, oob, oob, ui::EventTimeForNow(),
ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON));
- EXPECT_EQ(InkDropState::HIDDEN, ink_drop_delegate->GetTargetInkDropState());
+ EXPECT_EQ(InkDropState::HIDDEN, ink_drop->GetTargetInkDropState());
button()->OnMouseReleased(
ui::MouseEvent(ui::ET_MOUSE_PRESSED, oob, oob, ui::EventTimeForNow(),
@@ -553,33 +492,32 @@ TEST_F(CustomButtonTest, InkDropStaysHiddenWhileDragging) {
gfx::Point center(10, 10);
gfx::Point oob(-1, -1);
- TestInkDropDelegate* ink_drop_delegate = new TestInkDropDelegate();
- CreateButtonWithInkDrop(base::WrapUnique(ink_drop_delegate));
+ TestInkDrop* ink_drop = new TestInkDrop();
+ CreateButtonWithInkDrop(base::WrapUnique(ink_drop));
button()->OnMousePressed(ui::MouseEvent(
ui::ET_MOUSE_PRESSED, center, center, ui::EventTimeForNow(),
ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON));
- EXPECT_EQ(InkDropState::ACTION_PENDING,
- ink_drop_delegate->GetTargetInkDropState());
+ EXPECT_EQ(InkDropState::ACTION_PENDING, ink_drop->GetTargetInkDropState());
SetDraggedView(button());
widget()->SetCapture(button());
widget()->ReleaseCapture();
- EXPECT_EQ(InkDropState::HIDDEN, ink_drop_delegate->GetTargetInkDropState());
+ EXPECT_EQ(InkDropState::HIDDEN, ink_drop->GetTargetInkDropState());
button()->OnMouseDragged(
ui::MouseEvent(ui::ET_MOUSE_PRESSED, oob, oob, ui::EventTimeForNow(),
ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON));
- EXPECT_EQ(InkDropState::HIDDEN, ink_drop_delegate->GetTargetInkDropState());
+ EXPECT_EQ(InkDropState::HIDDEN, ink_drop->GetTargetInkDropState());
button()->OnMouseDragged(ui::MouseEvent(
ui::ET_MOUSE_PRESSED, center, center, ui::EventTimeForNow(),
ui::EF_LEFT_MOUSE_BUTTON, ui::EF_LEFT_MOUSE_BUTTON));
- EXPECT_EQ(InkDropState::HIDDEN, ink_drop_delegate->GetTargetInkDropState());
+ EXPECT_EQ(InkDropState::HIDDEN, ink_drop->GetTargetInkDropState());
SetDraggedView(nullptr);
}
« no previous file with comments | « ui/views/controls/button/custom_button.cc ('k') | ui/views/controls/button/label_button_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698