| Index: ui/events/ozone/evdev/key_event_converter_unittest.cc | 
| diff --git a/ui/events/ozone/evdev/key_event_converter_unittest.cc b/ui/events/ozone/evdev/key_event_converter_unittest.cc | 
| index 99b465d07d7439fd167c05f7845b46f328b90ed9..0bbb9810b8bfc6b5004ac5c5264614727665fbc2 100644 | 
| --- a/ui/events/ozone/evdev/key_event_converter_unittest.cc | 
| +++ b/ui/events/ozone/evdev/key_event_converter_unittest.cc | 
| @@ -6,6 +6,7 @@ | 
|  | 
| #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" | 
| @@ -13,19 +14,20 @@ | 
|  | 
| namespace ui { | 
|  | 
| -const int kInvalidFileDescriptor = -1; | 
| const char kTestDevicePath[] = "/dev/input/test-device"; | 
|  | 
| class MockKeyEventConverterEvdev : public KeyEventConverterEvdev { | 
| public: | 
| -  MockKeyEventConverterEvdev(EventModifiersEvdev* modifiers) | 
| -      : KeyEventConverterEvdev(kInvalidFileDescriptor, | 
| -                               base::FilePath(kTestDevicePath), | 
| -                               modifiers) {} | 
| +  MockKeyEventConverterEvdev(int fd, EventModifiersEvdev* modifiers) | 
| +      : KeyEventConverterEvdev(fd, base::FilePath(kTestDevicePath), modifiers) { | 
| +  } | 
| virtual ~MockKeyEventConverterEvdev() {}; | 
|  | 
| unsigned size() { return dispatched_events_.size(); } | 
| -  KeyEvent* event(unsigned index) { return dispatched_events_[index]; } | 
| +  KeyEvent* event(unsigned index) { | 
| +    CHECK_GT(dispatched_events_.size(), index); | 
| +    return dispatched_events_[index]; | 
| +  } | 
|  | 
| virtual void DispatchEvent(scoped_ptr<Event> event) OVERRIDE; | 
|  | 
| @@ -48,20 +50,36 @@ class KeyEventConverterEvdevTest : public testing::Test { | 
|  | 
| // 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_ = new ui::EventModifiersEvdev(); | 
| -    device_ = new ui::MockKeyEventConverterEvdev(modifiers_); | 
| +    device_ = new ui::MockKeyEventConverterEvdev(events_in_, modifiers_); | 
| } | 
| virtual void TearDown() OVERRIDE { | 
| delete device_; | 
| delete modifiers_; | 
| +    close(events_in_); | 
| +    close(events_out_); | 
| } | 
|  | 
| ui::MockKeyEventConverterEvdev* device() { return device_; } | 
| ui::EventModifiersEvdev* modifiers() { return modifiers_; } | 
|  | 
| private: | 
| +  base::MessageLoopForUI ui_loop_; | 
| + | 
| ui::EventModifiersEvdev* modifiers_; | 
| ui::MockKeyEventConverterEvdev* device_; | 
| + | 
| +  int events_out_; | 
| +  int events_in_; | 
| + | 
| DISALLOW_COPY_AND_ASSIGN(KeyEventConverterEvdevTest); | 
| }; | 
|  | 
|  |