Chromium Code Reviews| Index: ui/views/mus/pointer_watcher_event_router_unittest.cc |
| diff --git a/ui/views/mus/pointer_watcher_event_router_unittest.cc b/ui/views/mus/pointer_watcher_event_router_unittest.cc |
| index ee3df4eb3138ab1686bcd54028d8a7c6b8d3695d..991b1e686157e637a7125df8da83ed1dcf20e712 100644 |
| --- a/ui/views/mus/pointer_watcher_event_router_unittest.cc |
| +++ b/ui/views/mus/pointer_watcher_event_router_unittest.cc |
| @@ -7,6 +7,7 @@ |
| #include <memory> |
| #include "base/message_loop/message_loop.h" |
| +#include "services/ui/public/cpp/tests/window_tree_client_private.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| #include "ui/events/event.h" |
| #include "ui/views/mus/window_manager_connection.h" |
| @@ -51,10 +52,48 @@ class PointerWatcherEventRouterTest : public testing::Test { |
| ->OnPointerEventObserved(event, nullptr); |
| } |
| + PointerWatcherEventRouter::EventTypes event_types() const { |
| + return WindowManagerConnection::Get() |
| + ->pointer_watcher_event_router() |
| + ->event_types_; |
| + } |
| + |
| private: |
| DISALLOW_COPY_AND_ASSIGN(PointerWatcherEventRouterTest); |
| }; |
| +TEST_F(PointerWatcherEventRouterTest, EventTypes) { |
| + base::MessageLoop message_loop(base::MessageLoop::TYPE_UI); |
| + ScopedViewsTestHelper helper; |
| + TestPointerWatcher pointer_watcher1, pointer_watcher2; |
| + PointerWatcherEventRouter* pointer_watcher_event_router = |
| + WindowManagerConnection::Get()->pointer_watcher_event_router(); |
| + ui::WindowTreeClientPrivate test_api( |
| + WindowManagerConnection::Get()->client()); |
| + EXPECT_FALSE(test_api.HasPointerWatcher()); |
| + |
| + // Start with no moves. |
| + pointer_watcher_event_router->AddPointerWatcher(&pointer_watcher1, false); |
| + EXPECT_EQ(PointerWatcherEventRouter::EventTypes::NON_MOVE_EVENTS, |
| + event_types()); |
| + EXPECT_TRUE(test_api.HasPointerWatcher()); |
| + |
| + // Add moves. |
| + pointer_watcher_event_router->AddPointerWatcher(&pointer_watcher2, true); |
| + EXPECT_EQ(PointerWatcherEventRouter::EventTypes::MOVE_EVENTS, event_types()); |
| + EXPECT_TRUE(test_api.HasPointerWatcher()); |
| + |
| + // Remove no-moves. |
| + pointer_watcher_event_router->RemovePointerWatcher(&pointer_watcher1); |
| + EXPECT_EQ(PointerWatcherEventRouter::EventTypes::MOVE_EVENTS, event_types()); |
| + EXPECT_TRUE(test_api.HasPointerWatcher()); |
| + |
| + // Remove moves. |
|
msw
2016/08/18 22:45:23
optional nit: test the transition from MOVE_EVENTS
sky
2016/08/18 23:17:15
Done.
|
| + pointer_watcher_event_router->RemovePointerWatcher(&pointer_watcher2); |
| + EXPECT_EQ(PointerWatcherEventRouter::EventTypes::NONE, event_types()); |
| + EXPECT_FALSE(test_api.HasPointerWatcher()); |
| +} |
| + |
| TEST_F(PointerWatcherEventRouterTest, PointerWatcherNoMove) { |
| base::MessageLoop message_loop(base::MessageLoop::TYPE_UI); |
| ScopedViewsTestHelper helper; |