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

Side by Side Diff: ui/events/ozone/evdev/touch_event_converter_unittest.cc

Issue 133233008: evdev: Move EventConverterOzone ownership from EventFactoryOzone to subclass (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: unbreak events_unittests Created 6 years, 10 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « ui/events/ozone/evdev/touch_event_converter.cc ('k') | ui/events/ozone/event_converter_ozone.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <errno.h> 5 #include <errno.h>
6 #include <fcntl.h> 6 #include <fcntl.h>
7 #include <linux/input.h> 7 #include <linux/input.h>
8 #include <unistd.h> 8 #include <unistd.h>
9 9
10 #include <vector> 10 #include <vector>
(...skipping 10 matching lines...) Expand all
21 21
22 namespace { 22 namespace {
23 23
24 static int SetNonBlocking(int fd) { 24 static int SetNonBlocking(int fd) {
25 int flags = fcntl(fd, F_GETFL, 0); 25 int flags = fcntl(fd, F_GETFL, 0);
26 if (flags == -1) 26 if (flags == -1)
27 flags = 0; 27 flags = 0;
28 return fcntl(fd, F_SETFL, flags | O_NONBLOCK); 28 return fcntl(fd, F_SETFL, flags | O_NONBLOCK);
29 } 29 }
30 30
31 const int kInvalidFileDescriptor = -1;
32 const char kTestDevicePath[] = "/dev/input/test-device"; 31 const char kTestDevicePath[] = "/dev/input/test-device";
33 32
34 } // namespace 33 } // namespace
35 34
36 namespace ui { 35 namespace ui {
37 36
38 class MockTouchEventConverterEvdev : public TouchEventConverterEvdev, 37 class MockTouchEventConverterEvdev : public TouchEventConverterEvdev,
39 public base::MessagePumpDispatcher { 38 public base::MessagePumpDispatcher {
40 public: 39 public:
41 MockTouchEventConverterEvdev(int fd, base::FilePath path); 40 MockTouchEventConverterEvdev(int fd, base::FilePath path);
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
103 102
104 } // namespace ui 103 } // namespace ui
105 104
106 // Test fixture. 105 // Test fixture.
107 class TouchEventConverterEvdevTest : public testing::Test { 106 class TouchEventConverterEvdevTest : public testing::Test {
108 public: 107 public:
109 TouchEventConverterEvdevTest() {} 108 TouchEventConverterEvdevTest() {}
110 109
111 // Overridden from testing::Test: 110 // Overridden from testing::Test:
112 virtual void SetUp() OVERRIDE { 111 virtual void SetUp() OVERRIDE {
112 // Set up pipe to satisfy message pump (unused).
113 int evdev_io[2];
114 if (pipe(evdev_io))
115 PLOG(FATAL) << "failed pipe";
116 events_in_ = evdev_io[0];
117 events_out_ = evdev_io[1];
118
113 loop_ = new base::MessageLoopForUI; 119 loop_ = new base::MessageLoopForUI;
114 device_ = new ui::MockTouchEventConverterEvdev( 120 device_ = new ui::MockTouchEventConverterEvdev(
115 kInvalidFileDescriptor, base::FilePath(kTestDevicePath)); 121 events_in_, base::FilePath(kTestDevicePath));
116 base::MessagePumpOzone::Current()->AddDispatcherForRootWindow(device_); 122 base::MessagePumpOzone::Current()->AddDispatcherForRootWindow(device_);
117 } 123 }
118 virtual void TearDown() OVERRIDE { 124 virtual void TearDown() OVERRIDE {
119 delete device_; 125 delete device_;
120 delete loop_; 126 delete loop_;
121 } 127 }
122 128
123 ui::MockTouchEventConverterEvdev* device() { return device_; } 129 ui::MockTouchEventConverterEvdev* device() { return device_; }
124 130
125 private: 131 private:
126 base::MessageLoop* loop_; 132 base::MessageLoop* loop_;
127 ui::MockTouchEventConverterEvdev* device_; 133 ui::MockTouchEventConverterEvdev* device_;
134
135 int events_out_;
136 int events_in_;
137
128 DISALLOW_COPY_AND_ASSIGN(TouchEventConverterEvdevTest); 138 DISALLOW_COPY_AND_ASSIGN(TouchEventConverterEvdevTest);
129 }; 139 };
130 140
131 // TODO(rjkroege): Test for valid handling of time stamps. 141 // TODO(rjkroege): Test for valid handling of time stamps.
132 TEST_F(TouchEventConverterEvdevTest, TouchDown) { 142 TEST_F(TouchEventConverterEvdevTest, TouchDown) {
133 ui::MockTouchEventConverterEvdev* dev = device(); 143 ui::MockTouchEventConverterEvdev* dev = device();
134 144
135 struct input_event mock_kernel_queue[] = { 145 struct input_event mock_kernel_queue[] = {
136 {{0, 0}, EV_ABS, ABS_MT_TRACKING_ID, 684}, 146 {{0, 0}, EV_ABS, ABS_MT_TRACKING_ID, 684},
137 {{0, 0}, EV_ABS, ABS_MT_TOUCH_MAJOR, 3}, 147 {{0, 0}, EV_ABS, ABS_MT_TOUCH_MAJOR, 3},
(...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after
394 ev1 = dev->event(8); 404 ev1 = dev->event(8);
395 405
396 EXPECT_EQ(ui::ET_TOUCH_RELEASED, ev1->type()); 406 EXPECT_EQ(ui::ET_TOUCH_RELEASED, ev1->type());
397 EXPECT_EQ(base::TimeDelta::FromMicroseconds(0), ev1->time_stamp()); 407 EXPECT_EQ(base::TimeDelta::FromMicroseconds(0), ev1->time_stamp());
398 EXPECT_EQ(38, ev1->x()); 408 EXPECT_EQ(38, ev1->x());
399 EXPECT_EQ(102, ev1->y()); 409 EXPECT_EQ(102, ev1->y());
400 EXPECT_EQ(1, ev1->touch_id()); 410 EXPECT_EQ(1, ev1->touch_id());
401 EXPECT_FLOAT_EQ(.5f, ev1->force()); 411 EXPECT_FLOAT_EQ(.5f, ev1->force());
402 EXPECT_FLOAT_EQ(0.f, ev1->rotation_angle()); 412 EXPECT_FLOAT_EQ(0.f, ev1->rotation_angle());
403 } 413 }
OLDNEW
« no previous file with comments | « ui/events/ozone/evdev/touch_event_converter.cc ('k') | ui/events/ozone/event_converter_ozone.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698