| Index: ui/events/ozone/evdev/event_converter_evdev_impl_unittest.cc
|
| diff --git a/ui/events/ozone/evdev/event_converter_evdev_impl_unittest.cc b/ui/events/ozone/evdev/event_converter_evdev_impl_unittest.cc
|
| index af89fffa6c8277373891dcae82c6801e72ac9e91..288a2ec27a2f9a9fd8b8368b3af7c853f0945583 100644
|
| --- a/ui/events/ozone/evdev/event_converter_evdev_impl_unittest.cc
|
| +++ b/ui/events/ozone/evdev/event_converter_evdev_impl_unittest.cc
|
| @@ -11,10 +11,11 @@
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| #include "ui/events/event.h"
|
| #include "ui/events/keycodes/keyboard_codes.h"
|
| +#include "ui/events/ozone/device/device_manager.h"
|
| #include "ui/events/ozone/evdev/cursor_delegate_evdev.h"
|
| #include "ui/events/ozone/evdev/event_converter_evdev_impl.h"
|
| +#include "ui/events/ozone/evdev/event_factory_evdev.h"
|
| #include "ui/events/ozone/evdev/keyboard_evdev.h"
|
| -#include "ui/events/ozone/evdev/mouse_button_map_evdev.h"
|
| #include "ui/events/ozone/layout/keyboard_layout_engine_manager.h"
|
|
|
| namespace ui {
|
| @@ -23,22 +24,23 @@ const char kTestDevicePath[] = "/dev/input/test-device";
|
|
|
| class MockEventConverterEvdevImpl : public EventConverterEvdevImpl {
|
| public:
|
| - MockEventConverterEvdevImpl(int fd,
|
| - EventModifiersEvdev* modifiers,
|
| - MouseButtonMapEvdev* button_map,
|
| - CursorDelegateEvdev* cursor,
|
| - const KeyEventDispatchCallback& key_callback,
|
| - const EventDispatchCallback& callback)
|
| + MockEventConverterEvdevImpl(
|
| + int fd,
|
| + EventModifiersEvdev* modifiers,
|
| + CursorDelegateEvdev* cursor,
|
| + const KeyEventDispatchCallback& key_callback,
|
| + const MouseMoveEventDispatchCallback& mouse_move_callback,
|
| + const MouseButtonEventDispatchCallback& mouse_button_callback)
|
| : EventConverterEvdevImpl(fd,
|
| base::FilePath(kTestDevicePath),
|
| 1,
|
| INPUT_DEVICE_UNKNOWN,
|
| EventDeviceInfo(),
|
| modifiers,
|
| - button_map,
|
| cursor,
|
| key_callback,
|
| - callback) {
|
| + mouse_move_callback,
|
| + mouse_button_callback) {
|
| Start();
|
| }
|
| ~MockEventConverterEvdevImpl() override {}
|
| @@ -77,6 +79,35 @@ class MockCursorEvdev : public CursorDelegateEvdev {
|
| DISALLOW_COPY_AND_ASSIGN(MockCursorEvdev);
|
| };
|
|
|
| +class MockDeviceManager : public ui::DeviceManager {
|
| + public:
|
| + MockDeviceManager() {}
|
| + ~MockDeviceManager() override {}
|
| +
|
| + // DeviceManager:
|
| + void ScanDevices(DeviceEventObserver* observer) override {}
|
| + void AddObserver(DeviceEventObserver* observer) override {}
|
| + void RemoveObserver(DeviceEventObserver* observer) override {}
|
| +};
|
| +
|
| +class TestEventFactoryEvdev : public EventFactoryEvdev {
|
| + public:
|
| + TestEventFactoryEvdev(CursorDelegateEvdev* cursor,
|
| + DeviceManager* device_manager,
|
| + KeyboardLayoutEngine* keyboard_layout_engine,
|
| + const EventDispatchCallback& callback)
|
| + : EventFactoryEvdev(cursor, device_manager, keyboard_layout_engine),
|
| + callback_(callback) {}
|
| + ~TestEventFactoryEvdev() override {}
|
| +
|
| + private:
|
| + void PostUiEvent(scoped_ptr<Event> event) override {
|
| + callback_.Run(event.Pass());
|
| + }
|
| +
|
| + EventDispatchCallback callback_;
|
| +};
|
| +
|
| } // namespace ui
|
|
|
| // Test fixture.
|
| @@ -94,27 +125,24 @@ class EventConverterEvdevImplTest : public testing::Test {
|
| events_out_ = evdev_io[1];
|
|
|
| cursor_.reset(new ui::MockCursorEvdev());
|
| - modifiers_.reset(new ui::EventModifiersEvdev());
|
| - button_map_.reset(new ui::MouseButtonMapEvdev());
|
| -
|
| - const ui::EventDispatchCallback callback =
|
| + device_manager_.reset(new ui::MockDeviceManager());
|
| + event_factory_.reset(new ui::TestEventFactoryEvdev(
|
| + cursor_.get(), device_manager_.get(),
|
| + ui::KeyboardLayoutEngineManager::GetKeyboardLayoutEngine(),
|
| base::Bind(&EventConverterEvdevImplTest::DispatchEventForTest,
|
| - base::Unretained(this));
|
| - const ui::KeyEventDispatchCallback key_callback =
|
| - base::Bind(&EventConverterEvdevImplTest::DispatchKeyEventForTest,
|
| - base::Unretained(this));
|
| - keyboard_.reset(new ui::KeyboardEvdev(
|
| - modifiers_.get(),
|
| - ui::KeyboardLayoutEngineManager::GetKeyboardLayoutEngine(), callback));
|
| + base::Unretained(this))));
|
| +
|
| device_.reset(new ui::MockEventConverterEvdevImpl(
|
| - events_in_, modifiers_.get(), button_map_.get(), cursor_.get(),
|
| - key_callback, callback));
|
| + events_in_, event_factory_->modifiers(), cursor_.get(),
|
| + base::Bind(&ui::EventFactoryEvdev::PostKeyEvent,
|
| + base::Unretained(event_factory_.get())),
|
| + base::Bind(&ui::EventFactoryEvdev::PostMouseMoveEvent,
|
| + base::Unretained(event_factory_.get())),
|
| + base::Bind(&ui::EventFactoryEvdev::PostMouseButtonEvent,
|
| + base::Unretained(event_factory_.get()))));
|
| }
|
| void TearDown() override {
|
| device_.reset();
|
| - keyboard_.reset();
|
| - modifiers_.reset();
|
| - button_map_.reset();
|
| cursor_.reset();
|
| close(events_in_);
|
| close(events_out_);
|
| @@ -122,8 +150,6 @@ class EventConverterEvdevImplTest : public testing::Test {
|
|
|
| ui::MockCursorEvdev* cursor() { return cursor_.get(); }
|
| ui::MockEventConverterEvdevImpl* device() { return device_.get(); }
|
| - ui::EventModifiersEvdev* modifiers() { return modifiers_.get(); }
|
| - ui::MouseButtonMapEvdev* button_map() { return button_map_.get(); }
|
|
|
| unsigned size() { return dispatched_events_.size(); }
|
| ui::KeyEvent* dispatched_event(unsigned index) {
|
| @@ -144,16 +170,11 @@ class EventConverterEvdevImplTest : public testing::Test {
|
| dispatched_events_.push_back(event.release());
|
| }
|
|
|
| - void DispatchKeyEventForTest(const ui::KeyEventParams& params) {
|
| - keyboard_->OnKeyChange(params.code, params.down);
|
| - }
|
| -
|
| base::MessageLoopForUI ui_loop_;
|
|
|
| scoped_ptr<ui::MockCursorEvdev> cursor_;
|
| - scoped_ptr<ui::EventModifiersEvdev> modifiers_;
|
| - scoped_ptr<ui::MouseButtonMapEvdev> button_map_;
|
| - scoped_ptr<ui::KeyboardEvdev> keyboard_;
|
| + scoped_ptr<ui::DeviceManager> device_manager_;
|
| + scoped_ptr<ui::EventFactoryEvdev> event_factory_;
|
| scoped_ptr<ui::MockEventConverterEvdevImpl> device_;
|
|
|
| ScopedVector<ui::Event> dispatched_events_;
|
|
|