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

Unified Diff: ui/views/controls/button/menu_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/menu_button.cc ('k') | ui/views/views.gyp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/views/controls/button/menu_button_unittest.cc
diff --git a/ui/views/controls/button/menu_button_unittest.cc b/ui/views/controls/button/menu_button_unittest.cc
index 2f03b904bac8a7a42ee57bb39e590f6c1919aa9d..8f453d737bbe2f98e8c0ebc3c0b80a4a14110374 100644
--- a/ui/views/controls/button/menu_button_unittest.cc
+++ b/ui/views/controls/button/menu_button_unittest.cc
@@ -11,7 +11,8 @@
#include "build/build_config.h"
#include "ui/base/dragdrop/drag_drop_types.h"
#include "ui/events/test/event_generator.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/controls/button/menu_button_listener.h"
#include "ui/views/drag_controller.h"
#include "ui/views/test/views_test_base.h"
@@ -25,9 +26,9 @@
using base::ASCIIToUTF16;
namespace views {
-class InkDropDelegate;
-namespace test {
+using test::InkDropHostViewTestApi;
+using test::TestInkDrop;
// A MenuButton subclass that provides access to some MenuButton internals.
class TestMenuButton : public MenuButton {
@@ -39,10 +40,8 @@ class TestMenuButton : public MenuButton {
~TestMenuButton() override {}
- // Accessors to protected MenuButton methods.
- void set_ink_drop_delegate(
- std::unique_ptr<InkDropDelegate> ink_drop_delegate) {
- InkDropHostView::set_ink_drop_delegate(std::move(ink_drop_delegate));
+ void SetInkDrop(std::unique_ptr<InkDrop> ink_drop) {
+ InkDropHostViewTestApi(this).SetInkDrop(std::move(ink_drop));
}
private:
@@ -51,7 +50,7 @@ class TestMenuButton : public MenuButton {
class MenuButtonTest : public ViewsTestBase {
public:
- MenuButtonTest() : widget_(nullptr), button_(nullptr) {}
+ MenuButtonTest() : widget_(nullptr), button_(nullptr), ink_drop_(nullptr) {}
~MenuButtonTest() override {}
void TearDown() override {
@@ -67,6 +66,8 @@ class MenuButtonTest : public ViewsTestBase {
ui::test::EventGenerator* generator() { return generator_.get(); }
protected:
+ TestInkDrop* ink_drop() { return ink_drop_; }
+
// Creates a MenuButton with no button listener.
void CreateMenuButtonWithNoListener() { CreateMenuButton(nullptr); }
@@ -78,6 +79,12 @@ class MenuButtonTest : public ViewsTestBase {
CreateMenuButton(menu_button_listener);
}
+ void AttachInkDrop() {
+ ink_drop_ = new test::TestInkDrop();
+ test::InkDropHostViewTestApi(button_).SetInkDrop(
+ base::WrapUnique(ink_drop_));
+ }
+
private:
void CreateMenuButton(MenuButtonListener* menu_button_listener) {
CreateWidget();
@@ -108,6 +115,9 @@ class MenuButtonTest : public ViewsTestBase {
TestMenuButton* button_;
std::unique_ptr<ui::test::EventGenerator> generator_;
+ // Weak ptr, |button_| owns the instance.
+ TestInkDrop* ink_drop_;
+
DISALLOW_COPY_AND_ASSIGN(MenuButtonTest);
};
@@ -433,24 +443,22 @@ TEST_F(MenuButtonTest, DraggableMenuButtonActivatesOnRelease) {
TEST_F(MenuButtonTest, InkDropStateForMenuButtonActivationsWithoutListener) {
CreateMenuButtonWithNoListener();
- TestInkDropDelegate* ink_drop_delegate = new TestInkDropDelegate();
- ink_drop_delegate->OnAction(InkDropState::ACTION_PENDING);
- button()->set_ink_drop_delegate(base::WrapUnique(ink_drop_delegate));
+ AttachInkDrop();
+ ink_drop()->AnimateToState(InkDropState::ACTION_PENDING);
button()->Activate(nullptr);
- EXPECT_EQ(InkDropState::HIDDEN, ink_drop_delegate->GetTargetInkDropState());
+ EXPECT_EQ(InkDropState::HIDDEN, ink_drop()->GetTargetInkDropState());
}
TEST_F(MenuButtonTest,
InkDropStateForMenuButtonActivationsWithListenerThatDoesntAcquireALock) {
TestMenuButtonListener menu_button_listener;
CreateMenuButtonWithMenuButtonListener(&menu_button_listener);
- TestInkDropDelegate* ink_drop_delegate = new TestInkDropDelegate();
- button()->set_ink_drop_delegate(base::WrapUnique(ink_drop_delegate));
+ AttachInkDrop();
button()->Activate(nullptr);
EXPECT_EQ(InkDropState::ACTION_TRIGGERED,
- ink_drop_delegate->GetTargetInkDropState());
+ ink_drop()->GetTargetInkDropState());
}
TEST_F(
@@ -458,13 +466,11 @@ TEST_F(
InkDropStateForMenuButtonActivationsWithListenerThatDontReleaseAllLocks) {
PressStateMenuButtonListener menu_button_listener(false);
CreateMenuButtonWithMenuButtonListener(&menu_button_listener);
+ AttachInkDrop();
menu_button_listener.set_menu_button(button());
- TestInkDropDelegate* ink_drop_delegate = new TestInkDropDelegate();
- button()->set_ink_drop_delegate(base::WrapUnique(ink_drop_delegate));
button()->Activate(nullptr);
- EXPECT_EQ(InkDropState::ACTIVATED,
- ink_drop_delegate->GetTargetInkDropState());
+ EXPECT_EQ(InkDropState::ACTIVATED, ink_drop()->GetTargetInkDropState());
}
TEST_F(MenuButtonTest,
@@ -472,59 +478,49 @@ TEST_F(MenuButtonTest,
PressStateMenuButtonListener menu_button_listener(true);
CreateMenuButtonWithMenuButtonListener(&menu_button_listener);
menu_button_listener.set_menu_button(button());
- TestInkDropDelegate* ink_drop_delegate = new TestInkDropDelegate();
- button()->set_ink_drop_delegate(base::WrapUnique(ink_drop_delegate));
+ AttachInkDrop();
button()->Activate(nullptr);
- EXPECT_EQ(InkDropState::DEACTIVATED,
- ink_drop_delegate->GetTargetInkDropState());
+ EXPECT_EQ(InkDropState::DEACTIVATED, ink_drop()->GetTargetInkDropState());
}
TEST_F(MenuButtonTest, InkDropStateForMenuButtonsWithPressedLocks) {
CreateMenuButtonWithNoListener();
- TestInkDropDelegate* ink_drop_delegate = new TestInkDropDelegate();
- button()->set_ink_drop_delegate(base::WrapUnique(ink_drop_delegate));
+ AttachInkDrop();
std::unique_ptr<MenuButton::PressedLock> pressed_lock1(
new MenuButton::PressedLock(button()));
- EXPECT_EQ(InkDropState::ACTIVATED,
- ink_drop_delegate->GetTargetInkDropState());
+ EXPECT_EQ(InkDropState::ACTIVATED, ink_drop()->GetTargetInkDropState());
std::unique_ptr<MenuButton::PressedLock> pressed_lock2(
new MenuButton::PressedLock(button()));
- EXPECT_EQ(InkDropState::ACTIVATED,
- ink_drop_delegate->GetTargetInkDropState());
+ EXPECT_EQ(InkDropState::ACTIVATED, ink_drop()->GetTargetInkDropState());
pressed_lock1.reset();
- EXPECT_EQ(InkDropState::ACTIVATED,
- ink_drop_delegate->GetTargetInkDropState());
+ EXPECT_EQ(InkDropState::ACTIVATED, ink_drop()->GetTargetInkDropState());
pressed_lock2.reset();
- EXPECT_EQ(InkDropState::DEACTIVATED,
- ink_drop_delegate->GetTargetInkDropState());
+ EXPECT_EQ(InkDropState::DEACTIVATED, ink_drop()->GetTargetInkDropState());
}
// Verifies only one ink drop animation is triggered when multiple PressedLocks
// are attached to a MenuButton.
TEST_F(MenuButtonTest, OneInkDropAnimationForReentrantPressedLocks) {
CreateMenuButtonWithNoListener();
- TestInkDropDelegate* ink_drop_delegate = new TestInkDropDelegate();
- button()->set_ink_drop_delegate(base::WrapUnique(ink_drop_delegate));
+ AttachInkDrop();
std::unique_ptr<MenuButton::PressedLock> pressed_lock1(
new MenuButton::PressedLock(button()));
- EXPECT_EQ(InkDropState::ACTIVATED,
- ink_drop_delegate->GetTargetInkDropState());
- ink_drop_delegate->OnAction(InkDropState::ACTION_PENDING);
+ EXPECT_EQ(InkDropState::ACTIVATED, ink_drop()->GetTargetInkDropState());
+ ink_drop()->AnimateToState(InkDropState::ACTION_PENDING);
std::unique_ptr<MenuButton::PressedLock> pressed_lock2(
new MenuButton::PressedLock(button()));
- EXPECT_EQ(InkDropState::ACTION_PENDING,
- ink_drop_delegate->GetTargetInkDropState());
+ EXPECT_EQ(InkDropState::ACTION_PENDING, ink_drop()->GetTargetInkDropState());
}
// Verifies the InkDropState is left as ACTIVATED if a PressedLock is active
@@ -533,14 +529,12 @@ TEST_F(MenuButtonTest,
InkDropStateForMenuButtonWithPressedLockBeforeActivation) {
TestMenuButtonListener menu_button_listener;
CreateMenuButtonWithMenuButtonListener(&menu_button_listener);
- TestInkDropDelegate* ink_drop_delegate = new TestInkDropDelegate();
- button()->set_ink_drop_delegate(base::WrapUnique(ink_drop_delegate));
+ AttachInkDrop();
MenuButton::PressedLock lock(button());
button()->Activate(nullptr);
- EXPECT_EQ(InkDropState::ACTIVATED,
- ink_drop_delegate->GetTargetInkDropState());
+ EXPECT_EQ(InkDropState::ACTIVATED, ink_drop()->GetTargetInkDropState());
}
#if defined(USE_AURA)
@@ -618,4 +612,3 @@ TEST_F(MenuButtonTest, TouchFeedbackDuringTapCancel) {
#endif // !defined(OS_MACOSX) || defined(USE_AURA)
} // namespace views
-} // namespace test
« no previous file with comments | « ui/views/controls/button/menu_button.cc ('k') | ui/views/views.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698