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

Unified Diff: ui/views/animation/ink_drop_host_view_unittest.cc

Issue 2117603002: Added tests and reworked ink-drop touch logic (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed merge error & build failure 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/animation/ink_drop_host_view.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/views/animation/ink_drop_host_view_unittest.cc
diff --git a/ui/views/animation/ink_drop_host_view_unittest.cc b/ui/views/animation/ink_drop_host_view_unittest.cc
index 60f149de291509816bf65e9372c9cf76db2c5f6d..4526a11a4d6139b0431635c54850f3b3a37f77d7 100644
--- a/ui/views/animation/ink_drop_host_view_unittest.cc
+++ b/ui/views/animation/ink_drop_host_view_unittest.cc
@@ -9,6 +9,7 @@
#include "ui/events/event.h"
#include "ui/events/event_constants.h"
#include "ui/events/event_utils.h"
+#include "ui/gfx/color_palette.h"
#include "ui/gfx/geometry/point.h"
#include "ui/gfx/geometry/size.h"
#include "ui/views/animation/test/ink_drop_host_view_test_api.h"
@@ -17,6 +18,13 @@ namespace views {
namespace test {
using InkDropMode = InkDropHostViewTestApi::InkDropMode;
+class InkDropHostViewColor : public InkDropHostView {
+ protected:
+ SkColor GetInkDropBaseColor() const override {
+ return gfx::kPlaceholderColor;
+ }
+};
+
class InkDropHostViewTest : public testing::Test {
public:
InkDropHostViewTest();
@@ -24,7 +32,7 @@ class InkDropHostViewTest : public testing::Test {
protected:
// Test target.
- InkDropHostView host_view_;
+ InkDropHostViewColor host_view_;
// Provides internal access to |host_view_| test target.
InkDropHostViewTestApi test_api_;
@@ -76,5 +84,66 @@ TEST_F(InkDropHostViewTest, SetInkDropModeGestureHandler) {
EXPECT_FALSE(test_api_.HasGestureHandler());
}
+#if defined(OS_WIN)
+TEST_F(InkDropHostViewTest, NoInkDropOnTouchOrGestureEvents) {
+ host_view_.SetSize(gfx::Size(20, 20));
+
+ test_api_.SetInkDropMode(InkDropMode::ON_NO_GESTURE_HANDLER);
+
+ // Ensure the target ink drop is in the expected state.
+ EXPECT_EQ(test_api_.ink_drop()->GetTargetInkDropState(),
+ InkDropState::HIDDEN);
+
+ ui::TouchEvent touch_event(ui::ET_TOUCH_PRESSED, gfx::Point(5, 6), 1,
+ ui::EventTimeForNow());
+
+ test_api_.AnimateInkDrop(InkDropState::ACTION_PENDING, &touch_event);
+ EXPECT_EQ(test_api_.ink_drop()->GetTargetInkDropState(),
+ InkDropState::HIDDEN);
+
+ test_api_.AnimateInkDrop(InkDropState::ALTERNATE_ACTION_PENDING,
+ &touch_event);
+ EXPECT_EQ(test_api_.ink_drop()->GetTargetInkDropState(),
+ InkDropState::HIDDEN);
+
+ ui::GestureEvent gesture_event(5.0f, 6.0f, 0, ui::EventTimeForNow(),
+ ui::GestureEventDetails(ui::ET_GESTURE_TAP));
+
+ test_api_.AnimateInkDrop(InkDropState::ACTION_PENDING, &gesture_event);
+ EXPECT_EQ(test_api_.ink_drop()->GetTargetInkDropState(),
+ InkDropState::HIDDEN);
+
+ test_api_.AnimateInkDrop(InkDropState::ALTERNATE_ACTION_PENDING,
+ &gesture_event);
+ EXPECT_EQ(test_api_.ink_drop()->GetTargetInkDropState(),
+ InkDropState::HIDDEN);
+}
+
+TEST_F(InkDropHostViewTest, DismissInkDropOnTouchOrGestureEvents) {
+ host_view_.SetSize(gfx::Size(20, 20));
+
+ test_api_.SetInkDropMode(InkDropMode::ON_NO_GESTURE_HANDLER);
+
+ // Ensure the target ink drop is in the expected state.
+ EXPECT_EQ(test_api_.ink_drop()->GetTargetInkDropState(),
+ InkDropState::HIDDEN);
+
+ ui::MouseEvent mouse_event(ui::ET_MOUSE_PRESSED, gfx::Point(5, 6),
+ gfx::Point(5, 6), ui::EventTimeForNow(),
+ ui::EF_LEFT_MOUSE_BUTTON, 0);
+
+ test_api_.AnimateInkDrop(InkDropState::ACTION_PENDING, &mouse_event);
+ EXPECT_EQ(test_api_.ink_drop()->GetTargetInkDropState(),
+ InkDropState::ACTION_PENDING);
+
+ ui::TouchEvent touch_event(ui::ET_TOUCH_PRESSED, gfx::Point(5, 6), 1,
+ ui::EventTimeForNow());
+
+ test_api_.AnimateInkDrop(InkDropState::ACTION_TRIGGERED, &touch_event);
+ EXPECT_EQ(test_api_.ink_drop()->GetTargetInkDropState(),
+ InkDropState::ACTION_TRIGGERED);
+}
+#endif
+
} // namespace test
} // namespace views
« no previous file with comments | « ui/views/animation/ink_drop_host_view.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698