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

Unified Diff: ui/events/ozone/evdev/key_event_converter_evdev_unittest.cc

Issue 677113002: ozone: evdev: Handle mouse events (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix nits and a small bug Created 6 years, 2 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/events/ozone/evdev/key_event_converter_evdev.cc ('k') | ui/events/ozone/events_ozone.gyp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/events/ozone/evdev/key_event_converter_evdev_unittest.cc
diff --git a/ui/events/ozone/evdev/key_event_converter_evdev_unittest.cc b/ui/events/ozone/evdev/key_event_converter_evdev_unittest.cc
deleted file mode 100644
index aa7d4a5913d4a1e2b9d0e0bfad003aba35ba3cb5..0000000000000000000000000000000000000000
--- a/ui/events/ozone/evdev/key_event_converter_evdev_unittest.cc
+++ /dev/null
@@ -1,371 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include <linux/input.h>
-
-#include "base/bind.h"
-#include "base/memory/scoped_ptr.h"
-#include "base/memory/scoped_vector.h"
-#include "base/message_loop/message_loop.h"
-#include "testing/gtest/include/gtest/gtest.h"
-#include "ui/events/event.h"
-#include "ui/events/keycodes/keyboard_codes.h"
-#include "ui/events/ozone/evdev/key_event_converter_evdev.h"
-#include "ui/events/ozone/evdev/keyboard_evdev.h"
-
-namespace ui {
-
-const char kTestDevicePath[] = "/dev/input/test-device";
-
-class MockKeyEventConverterEvdev : public KeyEventConverterEvdev {
- public:
- MockKeyEventConverterEvdev(int fd, KeyboardEvdev* keyboard)
- : KeyEventConverterEvdev(fd,
- base::FilePath(kTestDevicePath),
- 1,
- keyboard) {
- Start();
- }
- virtual ~MockKeyEventConverterEvdev() {};
-
- private:
- DISALLOW_COPY_AND_ASSIGN(MockKeyEventConverterEvdev);
-};
-
-} // namespace ui
-
-// Test fixture.
-class KeyEventConverterEvdevTest : public testing::Test {
- public:
- KeyEventConverterEvdevTest() {}
-
- // Overridden from testing::Test:
- virtual void SetUp() override {
-
- // Set up pipe to satisfy message pump (unused).
- int evdev_io[2];
- if (pipe(evdev_io))
- PLOG(FATAL) << "failed pipe";
- events_in_ = evdev_io[0];
- events_out_ = evdev_io[1];
-
- modifiers_.reset(new ui::EventModifiersEvdev());
- keyboard_.reset(new ui::KeyboardEvdev(
- modifiers_.get(),
- base::Bind(&KeyEventConverterEvdevTest::DispatchEventForTest,
- base::Unretained(this))));
- device_.reset(
- new ui::MockKeyEventConverterEvdev(events_in_, keyboard_.get()));
- }
- virtual void TearDown() override {
- device_.reset();
- keyboard_.reset();
- modifiers_.reset();
- close(events_in_);
- close(events_out_);
- }
-
- ui::MockKeyEventConverterEvdev* device() { return device_.get(); }
- ui::EventModifiersEvdev* modifiers() { return modifiers_.get(); }
-
- unsigned size() { return dispatched_events_.size(); }
- ui::KeyEvent* dispatched_event(unsigned index) {
- DCHECK_GT(dispatched_events_.size(), index);
- ui::Event* ev = dispatched_events_[index];
- DCHECK(ev->IsKeyEvent());
- return static_cast<ui::KeyEvent*>(ev);
- }
-
- private:
- void DispatchEventForTest(scoped_ptr<ui::Event> event) {
- dispatched_events_.push_back(event.release());
- }
-
- base::MessageLoopForUI ui_loop_;
-
- scoped_ptr<ui::EventModifiersEvdev> modifiers_;
- scoped_ptr<ui::KeyboardEvdev> keyboard_;
- scoped_ptr<ui::MockKeyEventConverterEvdev> device_;
-
- ScopedVector<ui::Event> dispatched_events_;
-
- int events_out_;
- int events_in_;
-
- DISALLOW_COPY_AND_ASSIGN(KeyEventConverterEvdevTest);
-};
-
-TEST_F(KeyEventConverterEvdevTest, KeyPress) {
- ui::MockKeyEventConverterEvdev* dev = device();
-
- struct input_event mock_kernel_queue[] = {
- {{0, 0}, EV_MSC, MSC_SCAN, 0x7002a},
- {{0, 0}, EV_KEY, KEY_BACKSPACE, 1},
- {{0, 0}, EV_SYN, SYN_REPORT, 0},
-
- {{0, 0}, EV_MSC, MSC_SCAN, 0x7002a},
- {{0, 0}, EV_KEY, KEY_BACKSPACE, 0},
- {{0, 0}, EV_SYN, SYN_REPORT, 0},
- };
-
- dev->ProcessEvents(mock_kernel_queue, arraysize(mock_kernel_queue));
- EXPECT_EQ(2u, size());
-
- ui::KeyEvent* event;
-
- event = dispatched_event(0);
- EXPECT_EQ(ui::ET_KEY_PRESSED, event->type());
- EXPECT_EQ(ui::VKEY_BACK, event->key_code());
- EXPECT_EQ(0, event->flags());
-
- event = dispatched_event(1);
- EXPECT_EQ(ui::ET_KEY_RELEASED, event->type());
- EXPECT_EQ(ui::VKEY_BACK, event->key_code());
- EXPECT_EQ(0, event->flags());
-}
-
-TEST_F(KeyEventConverterEvdevTest, KeyRepeat) {
- ui::MockKeyEventConverterEvdev* dev = device();
-
- struct input_event mock_kernel_queue[] = {
- {{0, 0}, EV_MSC, MSC_SCAN, 0x7002a},
- {{0, 0}, EV_KEY, KEY_BACKSPACE, 1},
- {{0, 0}, EV_SYN, SYN_REPORT, 0},
-
- {{0, 0}, EV_MSC, MSC_SCAN, 0x7002a},
- {{0, 0}, EV_KEY, KEY_BACKSPACE, 2},
- {{0, 0}, EV_SYN, SYN_REPORT, 0},
-
- {{0, 0}, EV_MSC, MSC_SCAN, 0x7002a},
- {{0, 0}, EV_KEY, KEY_BACKSPACE, 2},
- {{0, 0}, EV_SYN, SYN_REPORT, 0},
-
- {{0, 0}, EV_MSC, MSC_SCAN, 0x7002a},
- {{0, 0}, EV_KEY, KEY_BACKSPACE, 0},
- {{0, 0}, EV_SYN, SYN_REPORT, 0},
- };
-
- dev->ProcessEvents(mock_kernel_queue, arraysize(mock_kernel_queue));
- EXPECT_EQ(4u, size());
-
- ui::KeyEvent* event;
-
- event = dispatched_event(0);
- EXPECT_EQ(ui::ET_KEY_PRESSED, event->type());
- EXPECT_EQ(ui::VKEY_BACK, event->key_code());
- EXPECT_EQ(0, event->flags());
-
- event = dispatched_event(1);
- EXPECT_EQ(ui::ET_KEY_PRESSED, event->type());
- EXPECT_EQ(ui::VKEY_BACK, event->key_code());
- EXPECT_EQ(0, event->flags());
-
- event = dispatched_event(2);
- EXPECT_EQ(ui::ET_KEY_PRESSED, event->type());
- EXPECT_EQ(ui::VKEY_BACK, event->key_code());
- EXPECT_EQ(0, event->flags());
-
- event = dispatched_event(3);
- EXPECT_EQ(ui::ET_KEY_RELEASED, event->type());
- EXPECT_EQ(ui::VKEY_BACK, event->key_code());
- EXPECT_EQ(0, event->flags());
-}
-
-TEST_F(KeyEventConverterEvdevTest, NoEvents) {
- ui::MockKeyEventConverterEvdev* dev = device();
- dev->ProcessEvents(NULL, 0);
- EXPECT_EQ(0u, size());
-}
-
-TEST_F(KeyEventConverterEvdevTest, KeyWithModifier) {
- ui::MockKeyEventConverterEvdev* dev = device();
-
- struct input_event mock_kernel_queue[] = {
- {{0, 0}, EV_MSC, MSC_SCAN, 0x700e1},
- {{0, 0}, EV_KEY, KEY_LEFTSHIFT, 1},
- {{0, 0}, EV_SYN, SYN_REPORT, 0},
-
- {{0, 0}, EV_MSC, MSC_SCAN, 0x70004},
- {{0, 0}, EV_KEY, KEY_A, 1},
- {{0, 0}, EV_SYN, SYN_REPORT, 0},
-
- {{0, 0}, EV_MSC, MSC_SCAN, 0x70004},
- {{0, 0}, EV_KEY, KEY_A, 0},
- {{0, 0}, EV_SYN, SYN_REPORT, 0},
-
- {{0, 0}, EV_MSC, MSC_SCAN, 0x700e1},
- {{0, 0}, EV_KEY, KEY_LEFTSHIFT, 0},
- {{0, 0}, EV_SYN, SYN_REPORT, 0},
- };
-
- dev->ProcessEvents(mock_kernel_queue, arraysize(mock_kernel_queue));
- EXPECT_EQ(4u, size());
-
- ui::KeyEvent* event;
-
- event = dispatched_event(0);
- EXPECT_EQ(ui::ET_KEY_PRESSED, event->type());
- EXPECT_EQ(ui::VKEY_SHIFT, event->key_code());
- EXPECT_EQ(ui::EF_SHIFT_DOWN, event->flags());
-
- event = dispatched_event(1);
- EXPECT_EQ(ui::ET_KEY_PRESSED, event->type());
- EXPECT_EQ(ui::VKEY_A, event->key_code());
- EXPECT_EQ(ui::EF_SHIFT_DOWN, event->flags());
-
- event = dispatched_event(2);
- EXPECT_EQ(ui::ET_KEY_RELEASED, event->type());
- EXPECT_EQ(ui::VKEY_A, event->key_code());
- EXPECT_EQ(ui::EF_SHIFT_DOWN, event->flags());
-
- event = dispatched_event(3);
- EXPECT_EQ(ui::ET_KEY_RELEASED, event->type());
- EXPECT_EQ(ui::VKEY_SHIFT, event->key_code());
- EXPECT_EQ(0, event->flags());
-}
-
-TEST_F(KeyEventConverterEvdevTest, KeyWithDuplicateModifier) {
- ui::MockKeyEventConverterEvdev* dev = device();
-
- struct input_event mock_kernel_queue[] = {
- {{0, 0}, EV_MSC, MSC_SCAN, 0x700e1},
- {{0, 0}, EV_KEY, KEY_LEFTCTRL, 1},
- {{0, 0}, EV_SYN, SYN_REPORT, 0},
-
- {{0, 0}, EV_MSC, MSC_SCAN, 0x700e5},
- {{0, 0}, EV_KEY, KEY_RIGHTCTRL, 1},
- {{0, 0}, EV_SYN, SYN_REPORT, 0},
-
- {{0, 0}, EV_MSC, MSC_SCAN, 0x7001d},
- {{0, 0}, EV_KEY, KEY_Z, 1},
- {{0, 0}, EV_SYN, SYN_REPORT, 0},
-
- {{0, 0}, EV_MSC, MSC_SCAN, 0x7001d},
- {{0, 0}, EV_KEY, KEY_Z, 0},
- {{0, 0}, EV_SYN, SYN_REPORT, 0},
-
- {{0, 0}, EV_MSC, MSC_SCAN, 0x700e1},
- {{0, 0}, EV_KEY, KEY_LEFTCTRL, 0},
- {{0, 0}, EV_SYN, SYN_REPORT, 0},
-
- {{0, 0}, EV_MSC, MSC_SCAN, 0x700e5},
- {{0, 0}, EV_KEY, KEY_RIGHTCTRL, 0},
- {{0, 0}, EV_SYN, SYN_REPORT, 0},
- };
-
- dev->ProcessEvents(mock_kernel_queue, arraysize(mock_kernel_queue));
- EXPECT_EQ(6u, size());
-
- ui::KeyEvent* event;
-
- event = dispatched_event(0);
- EXPECT_EQ(ui::ET_KEY_PRESSED, event->type());
- EXPECT_EQ(ui::VKEY_CONTROL, event->key_code());
- EXPECT_EQ(ui::EF_CONTROL_DOWN, event->flags());
-
- event = dispatched_event(1);
- EXPECT_EQ(ui::ET_KEY_PRESSED, event->type());
- EXPECT_EQ(ui::VKEY_CONTROL, event->key_code());
- EXPECT_EQ(ui::EF_CONTROL_DOWN, event->flags());
-
- event = dispatched_event(2);
- EXPECT_EQ(ui::ET_KEY_PRESSED, event->type());
- EXPECT_EQ(ui::VKEY_Z, event->key_code());
- EXPECT_EQ(ui::EF_CONTROL_DOWN, event->flags());
-
- event = dispatched_event(3);
- EXPECT_EQ(ui::ET_KEY_RELEASED, event->type());
- EXPECT_EQ(ui::VKEY_Z, event->key_code());
- EXPECT_EQ(ui::EF_CONTROL_DOWN, event->flags());
-
- event = dispatched_event(4);
- EXPECT_EQ(ui::ET_KEY_RELEASED, event->type());
- EXPECT_EQ(ui::VKEY_CONTROL, event->key_code());
- EXPECT_EQ(ui::EF_CONTROL_DOWN, event->flags());
-
- event = dispatched_event(5);
- EXPECT_EQ(ui::ET_KEY_RELEASED, event->type());
- EXPECT_EQ(ui::VKEY_CONTROL, event->key_code());
- EXPECT_EQ(0, event->flags());
-}
-
-TEST_F(KeyEventConverterEvdevTest, KeyWithLock) {
- ui::MockKeyEventConverterEvdev* dev = device();
-
- struct input_event mock_kernel_queue[] = {
- {{0, 0}, EV_MSC, MSC_SCAN, 0x70039},
- {{0, 0}, EV_KEY, KEY_CAPSLOCK, 1},
- {{0, 0}, EV_SYN, SYN_REPORT, 0},
-
- {{0, 0}, EV_MSC, MSC_SCAN, 0x70039},
- {{0, 0}, EV_KEY, KEY_CAPSLOCK, 0},
- {{0, 0}, EV_SYN, SYN_REPORT, 0},
-
- {{0, 0}, EV_MSC, MSC_SCAN, 0x70014},
- {{0, 0}, EV_KEY, KEY_Q, 1},
- {{0, 0}, EV_SYN, SYN_REPORT, 0},
-
- {{0, 0}, EV_MSC, MSC_SCAN, 0x70014},
- {{0, 0}, EV_KEY, KEY_Q, 0},
- {{0, 0}, EV_SYN, SYN_REPORT, 0},
-
- {{0, 0}, EV_MSC, MSC_SCAN, 0x70039},
- {{0, 0}, EV_KEY, KEY_CAPSLOCK, 1},
- {{0, 0}, EV_SYN, SYN_REPORT, 0},
-
- {{0, 0}, EV_MSC, MSC_SCAN, 0x70039},
- {{0, 0}, EV_KEY, KEY_CAPSLOCK, 0},
- {{0, 0}, EV_SYN, SYN_REPORT, 0},
- };
-
- dev->ProcessEvents(mock_kernel_queue, arraysize(mock_kernel_queue));
- EXPECT_EQ(6u, size());
-
- ui::KeyEvent* event;
-
- event = dispatched_event(0);
- EXPECT_EQ(ui::ET_KEY_PRESSED, event->type());
- EXPECT_EQ(ui::VKEY_CAPITAL, event->key_code());
- EXPECT_EQ(ui::EF_CAPS_LOCK_DOWN, event->flags());
-
- event = dispatched_event(1);
- EXPECT_EQ(ui::ET_KEY_RELEASED, event->type());
- EXPECT_EQ(ui::VKEY_CAPITAL, event->key_code());
- EXPECT_EQ(ui::EF_CAPS_LOCK_DOWN, event->flags());
-
- event = dispatched_event(2);
- EXPECT_EQ(ui::ET_KEY_PRESSED, event->type());
- EXPECT_EQ(ui::VKEY_Q, event->key_code());
- EXPECT_EQ(ui::EF_CAPS_LOCK_DOWN, event->flags());
-
- event = dispatched_event(3);
- EXPECT_EQ(ui::ET_KEY_RELEASED, event->type());
- EXPECT_EQ(ui::VKEY_Q, event->key_code());
- EXPECT_EQ(ui::EF_CAPS_LOCK_DOWN, event->flags());
-
- event = dispatched_event(4);
- EXPECT_EQ(ui::ET_KEY_PRESSED, event->type());
- EXPECT_EQ(ui::VKEY_CAPITAL, event->key_code());
- EXPECT_EQ(0, event->flags());
-
- event = dispatched_event(5);
- EXPECT_EQ(ui::ET_KEY_RELEASED, event->type());
- EXPECT_EQ(ui::VKEY_CAPITAL, event->key_code());
- EXPECT_EQ(0, event->flags());
-}
-
-TEST_F(KeyEventConverterEvdevTest, UnmappedKeyPress) {
- ui::MockKeyEventConverterEvdev* dev = device();
-
- struct input_event mock_kernel_queue[] = {
- {{0, 0}, EV_KEY, BTN_TOUCH, 1},
- {{0, 0}, EV_SYN, SYN_REPORT, 0},
-
- {{0, 0}, EV_KEY, BTN_TOUCH, 0},
- {{0, 0}, EV_SYN, SYN_REPORT, 0},
- };
-
- dev->ProcessEvents(mock_kernel_queue, arraysize(mock_kernel_queue));
- EXPECT_EQ(0u, size());
-}
« no previous file with comments | « ui/events/ozone/evdev/key_event_converter_evdev.cc ('k') | ui/events/ozone/events_ozone.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698