Index: chrome/browser/ui/cocoa/event_utils_unittest.mm |
diff --git a/chrome/browser/ui/cocoa/event_utils_unittest.mm b/chrome/browser/ui/cocoa/event_utils_unittest.mm |
index 6f0b7fea43173e1e7fa11b2145cb47fa62f680d0..d4172bc972c198f8d240df0ae607ea9d9ef12f07 100644 |
--- a/chrome/browser/ui/cocoa/event_utils_unittest.mm |
+++ b/chrome/browser/ui/cocoa/event_utils_unittest.mm |
@@ -4,6 +4,7 @@ |
#import <objc/objc-class.h> |
+#include "ui/base/events.h" |
#import "chrome/browser/ui/cocoa/cocoa_test_helper.h" |
#include "chrome/browser/ui/cocoa/event_utils.h" |
#include "chrome/browser/ui/cocoa/test_event_utils.h" |
@@ -58,4 +59,63 @@ TEST_F(EventUtilsTest, TestWindowOpenDispositionFromNSEvent) { |
EXPECT_EQ(NEW_WINDOW, event_utils::WindowOpenDispositionFromNSEvent(me)); |
} |
+TEST_F(EventUtilsTest, TestEventFlagsFromNSEvent) { |
+ // Left click. |
+ NSEvent* left = test_event_utils::MakeMouseEvent(NSLeftMouseUp, 0); |
+ EXPECT_EQ(ui::EF_LEFT_BUTTON_DOWN, |
+ event_utils::EventFlagsFromNSEvent(left)); |
+ |
+ // Right click. |
+ NSEvent* right = test_event_utils::MakeMouseEvent(NSRightMouseUp, 0); |
+ EXPECT_EQ(ui::EF_RIGHT_BUTTON_DOWN, |
+ event_utils::EventFlagsFromNSEvent(right)); |
+ |
+ // Middle click. |
+ NSEvent* middle = test_event_utils::MakeMouseEvent(NSOtherMouseUp, 0); |
+ EXPECT_EQ(ui::EF_MIDDLE_BUTTON_DOWN, |
+ event_utils::EventFlagsFromNSEvent(middle)); |
+ |
+ // Caps + Left |
+ NSEvent* caps = test_event_utils::MakeMouseEvent( |
+ NSLeftMouseUp, NSAlphaShiftKeyMask); |
+ EXPECT_EQ(ui::EF_LEFT_BUTTON_DOWN | ui::EF_CAPS_LOCK_DOWN, |
+ event_utils::EventFlagsFromNSEvent(caps)); |
+ |
+ // Shift + Left |
+ NSEvent* shift = test_event_utils::MakeMouseEvent( |
+ NSLeftMouseUp, NSShiftKeyMask); |
+ EXPECT_EQ(ui::EF_LEFT_BUTTON_DOWN | ui::EF_SHIFT_DOWN, |
+ event_utils::EventFlagsFromNSEvent(shift)); |
+ |
+ // Ctrl + Left |
+ NSEvent* ctrl = test_event_utils::MakeMouseEvent( |
+ NSLeftMouseUp, NSControlKeyMask); |
+ EXPECT_EQ(ui::EF_LEFT_BUTTON_DOWN | ui::EF_CONTROL_DOWN, |
+ event_utils::EventFlagsFromNSEvent(ctrl)); |
+ |
+ // Alt + Left |
+ NSEvent* alt = test_event_utils::MakeMouseEvent( |
+ NSLeftMouseUp, NSAlternateKeyMask); |
+ EXPECT_EQ(ui::EF_LEFT_BUTTON_DOWN | ui::EF_ALT_DOWN, |
+ event_utils::EventFlagsFromNSEvent(alt)); |
+ |
+ // Cmd + Left |
+ NSEvent* cmd = test_event_utils::MakeMouseEvent( |
+ NSLeftMouseUp, NSCommandKeyMask); |
+ EXPECT_EQ(ui::EF_LEFT_BUTTON_DOWN | ui::EF_COMMAND_DOWN, |
+ event_utils::EventFlagsFromNSEvent(cmd)); |
+ |
+ // Shift + Ctrl + Left |
+ NSEvent* shiftctrl = test_event_utils::MakeMouseEvent( |
+ NSLeftMouseUp, NSShiftKeyMask | NSControlKeyMask); |
+ EXPECT_EQ(ui::EF_LEFT_BUTTON_DOWN | ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN, |
+ event_utils::EventFlagsFromNSEvent(shiftctrl)); |
+ |
+ // Cmd + Alt + Right |
+ NSEvent* cmdalt = test_event_utils::MakeMouseEvent( |
+ NSLeftMouseUp, NSCommandKeyMask | NSAlternateKeyMask); |
+ EXPECT_EQ(ui::EF_LEFT_BUTTON_DOWN | ui::EF_COMMAND_DOWN | ui::EF_ALT_DOWN, |
+ event_utils::EventFlagsFromNSEvent(cmdalt)); |
+} |
+ |
} // namespace |