Index: chrome/browser/chromeos/events/keyboard_driven_event_rewriter_unittest.cc |
diff --git a/chrome/browser/chromeos/events/keyboard_driven_event_rewriter_unittest.cc b/chrome/browser/chromeos/events/keyboard_driven_event_rewriter_unittest.cc |
index a84dc3d1fed0829d4efb0639320714ad36dcded7..20b315b69124da4b63fa65a54582ec7dc42b898d 100644 |
--- a/chrome/browser/chromeos/events/keyboard_driven_event_rewriter_unittest.cc |
+++ b/chrome/browser/chromeos/events/keyboard_driven_event_rewriter_unittest.cc |
@@ -2,70 +2,42 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
+#include <string> |
+ |
#include "base/basictypes.h" |
#include "base/compiler_specific.h" |
#include "base/strings/stringprintf.h" |
#include "chrome/browser/chromeos/events/keyboard_driven_event_rewriter.h" |
#include "testing/gtest/include/gtest/gtest.h" |
#include "ui/events/event.h" |
-#include "ui/events/test/events_test_utils_x11.h" |
- |
-#include <X11/keysym.h> |
-#include <X11/XF86keysym.h> |
-#include <X11/Xlib.h> |
namespace chromeos { |
class KeyboardDrivenEventRewriterTest : public testing::Test { |
public: |
- KeyboardDrivenEventRewriterTest() |
- : display_(gfx::GetXDisplay()), |
- keycode_a_(XKeysymToKeycode(display_, XK_a)), |
- keycode_up_(XKeysymToKeycode(display_, XK_Up)), |
- keycode_down_(XKeysymToKeycode(display_, XK_Down)), |
- keycode_left_(XKeysymToKeycode(display_, XK_Left)), |
- keycode_right_(XKeysymToKeycode(display_, XK_Right)), |
- keycode_return_(XKeysymToKeycode(display_, XK_Return)), |
- keycode_f6_(XKeysymToKeycode(display_, XK_F6)) { |
- } |
+ KeyboardDrivenEventRewriterTest() {} |
virtual ~KeyboardDrivenEventRewriterTest() {} |
protected: |
std::string GetRewrittenEventAsString(ui::KeyboardCode ui_keycode, |
int ui_flags, |
- ui::EventType ui_type, |
- KeyCode x_keycode, |
- unsigned int x_state) { |
- ui::ScopedXI2Event xev; |
- xev.InitKeyEvent(ui_type, ui_keycode, ui_flags); |
- XEvent* xevent = xev; |
- xevent->xkey.keycode = x_keycode; |
- xevent->xkey.state = x_state; |
- bool changed = rewriter_.RewriteForTesting(xevent); |
- ui::KeyEvent keyevent(xev, false /* is_char */); |
- return base::StringPrintf("ui_flags=%d x_state=%u changed=%d", |
- keyevent.flags(), |
- xevent->xkey.state, |
- changed); |
+ ui::EventType ui_type) { |
+ ui::KeyEvent keyevent(ui_type, ui_keycode, ui_flags, false); |
+ scoped_ptr<ui::Event> rewritten_event; |
+ ui::EventRewriteStatus status = |
+ rewriter_.RewriteForTesting(keyevent, &rewritten_event); |
+ return base::StringPrintf( |
+ "ui_flags=%d status=%d", |
+ rewritten_event ? rewritten_event->flags() : keyevent.flags(), |
+ status); |
} |
std::string GetExpectedResultAsString(int ui_flags, |
- unsigned int x_state, |
- bool changed) { |
- return base::StringPrintf( |
- "ui_flags=%d x_state=%u changed=%d", ui_flags, x_state, changed); |
+ ui::EventRewriteStatus status) { |
+ return base::StringPrintf("ui_flags=%d status=%u", ui_flags, status); |
} |
- XDisplay* display_; |
- const KeyCode keycode_a_; |
- const KeyCode keycode_up_; |
- const KeyCode keycode_down_; |
- const KeyCode keycode_left_; |
- const KeyCode keycode_right_; |
- const KeyCode keycode_return_; |
- const KeyCode keycode_f6_; |
- |
KeyboardDrivenEventRewriter rewriter_; |
private: |
@@ -76,82 +48,66 @@ TEST_F(KeyboardDrivenEventRewriterTest, PassThrough) { |
struct { |
ui::KeyboardCode ui_keycode; |
int ui_flags; |
- KeyCode x_keycode; |
- unsigned int x_state; |
} kTests[] = { |
- { ui::VKEY_A, ui::EF_NONE, keycode_a_, 0 }, |
- { ui::VKEY_A, ui::EF_CONTROL_DOWN, keycode_a_, ControlMask }, |
- { ui::VKEY_A, ui::EF_ALT_DOWN, keycode_a_, Mod1Mask }, |
- { ui::VKEY_A, ui::EF_SHIFT_DOWN, keycode_a_, ShiftMask }, |
- { ui::VKEY_A, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, |
- keycode_a_, ControlMask | Mod1Mask }, |
- { ui::VKEY_A, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | ui::EF_SHIFT_DOWN, |
- keycode_a_, ControlMask | Mod1Mask | ShiftMask }, |
- |
- { ui::VKEY_LEFT, ui::EF_NONE, keycode_left_, 0 }, |
- { ui::VKEY_LEFT, ui::EF_CONTROL_DOWN, keycode_left_, ControlMask }, |
- { ui::VKEY_LEFT, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, |
- keycode_left_, ControlMask | Mod1Mask }, |
- |
- { ui::VKEY_RIGHT, ui::EF_NONE, keycode_right_, 0 }, |
- { ui::VKEY_RIGHT, ui::EF_CONTROL_DOWN, keycode_right_, ControlMask }, |
- { ui::VKEY_RIGHT, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, |
- keycode_right_, ControlMask | Mod1Mask }, |
- |
- { ui::VKEY_UP, ui::EF_NONE, keycode_up_, 0 }, |
- { ui::VKEY_UP, ui::EF_CONTROL_DOWN, keycode_up_, ControlMask }, |
- { ui::VKEY_UP, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, |
- keycode_up_, ControlMask | Mod1Mask }, |
- |
- { ui::VKEY_DOWN, ui::EF_NONE, keycode_down_, 0 }, |
- { ui::VKEY_DOWN, ui::EF_CONTROL_DOWN, keycode_down_, ControlMask }, |
- { ui::VKEY_DOWN, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, |
- keycode_down_, ControlMask | Mod1Mask }, |
- |
- { ui::VKEY_RETURN, ui::EF_NONE, keycode_return_, 0 }, |
- { ui::VKEY_RETURN, ui::EF_CONTROL_DOWN, keycode_return_, ControlMask }, |
- { ui::VKEY_RETURN, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, |
- keycode_return_, ControlMask | Mod1Mask }, |
+ { ui::VKEY_A, ui::EF_NONE }, |
+ { ui::VKEY_A, ui::EF_CONTROL_DOWN }, |
+ { ui::VKEY_A, ui::EF_ALT_DOWN }, |
+ { ui::VKEY_A, ui::EF_SHIFT_DOWN }, |
+ { ui::VKEY_A, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN }, |
+ { ui::VKEY_A, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN | ui::EF_SHIFT_DOWN }, |
+ |
+ { ui::VKEY_LEFT, ui::EF_NONE }, |
+ { ui::VKEY_LEFT, ui::EF_CONTROL_DOWN }, |
+ { ui::VKEY_LEFT, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN }, |
+ |
+ { ui::VKEY_RIGHT, ui::EF_NONE }, |
+ { ui::VKEY_RIGHT, ui::EF_CONTROL_DOWN }, |
+ { ui::VKEY_RIGHT, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN }, |
+ |
+ { ui::VKEY_UP, ui::EF_NONE }, |
+ { ui::VKEY_UP, ui::EF_CONTROL_DOWN }, |
+ { ui::VKEY_UP, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN }, |
+ |
+ { ui::VKEY_DOWN, ui::EF_NONE }, |
+ { ui::VKEY_DOWN, ui::EF_CONTROL_DOWN }, |
+ { ui::VKEY_DOWN, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN }, |
+ |
+ { ui::VKEY_RETURN, ui::EF_NONE }, |
+ { ui::VKEY_RETURN, ui::EF_CONTROL_DOWN }, |
+ { ui::VKEY_RETURN, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN }, |
}; |
for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kTests); ++i) { |
EXPECT_EQ(GetExpectedResultAsString(kTests[i].ui_flags, |
- kTests[i].x_state, |
- false), |
+ ui::EVENT_REWRITE_CONTINUE), |
GetRewrittenEventAsString(kTests[i].ui_keycode, |
kTests[i].ui_flags, |
- ui::ET_KEY_PRESSED, |
- kTests[i].x_keycode, |
- kTests[i].x_state)) |
+ ui::ET_KEY_PRESSED)) |
<< "Test case " << i; |
} |
} |
TEST_F(KeyboardDrivenEventRewriterTest, Rewrite) { |
const int kModifierMask = ui::EF_SHIFT_DOWN; |
- const unsigned int kXState = ShiftMask; |
struct { |
ui::KeyboardCode ui_keycode; |
int ui_flags; |
- KeyCode x_keycode; |
- unsigned int x_state; |
} kTests[] = { |
- { ui::VKEY_LEFT, kModifierMask, keycode_left_, kXState }, |
- { ui::VKEY_RIGHT, kModifierMask, keycode_right_, kXState }, |
- { ui::VKEY_UP, kModifierMask, keycode_up_, kXState }, |
- { ui::VKEY_DOWN, kModifierMask, keycode_down_, kXState }, |
- { ui::VKEY_RETURN, kModifierMask, keycode_return_, kXState }, |
- { ui::VKEY_F6, kModifierMask, keycode_f6_, kXState }, |
+ { ui::VKEY_LEFT, kModifierMask }, |
+ { ui::VKEY_RIGHT, kModifierMask }, |
+ { ui::VKEY_UP, kModifierMask }, |
+ { ui::VKEY_DOWN, kModifierMask }, |
+ { ui::VKEY_RETURN, kModifierMask }, |
+ { ui::VKEY_F6, kModifierMask }, |
}; |
for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kTests); ++i) { |
- EXPECT_EQ(GetExpectedResultAsString(ui::EF_NONE, 0, true), |
+ EXPECT_EQ(GetExpectedResultAsString(ui::EF_NONE, |
+ ui::EVENT_REWRITE_REWRITTEN), |
GetRewrittenEventAsString(kTests[i].ui_keycode, |
kTests[i].ui_flags, |
- ui::ET_KEY_PRESSED, |
- kTests[i].x_keycode, |
- kTests[i].x_state)) |
+ ui::ET_KEY_PRESSED)) |
<< "Test case " << i; |
} |
} |