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

Side by Side Diff: ui/aura/event_unittest.cc

Issue 10827145: Convert Aura to use ui::Event. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 years, 4 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/aura/event_mac.mm ('k') | ui/aura/focus_manager.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "ui/aura/event.h"
6 #include "testing/gtest/include/gtest/gtest.h"
7
8 #if defined(USE_X11)
9 #include <X11/Xlib.h>
10 #include "ui/base/x/x11_util.h"
11 #endif
12
13 namespace aura {
14 namespace test {
15
16 TEST(EventTest, NoNativeEvent) {
17 KeyEvent keyev(ui::ET_KEY_PRESSED, ui::VKEY_SPACE, 0);
18 EXPECT_FALSE(keyev.HasNativeEvent());
19 }
20
21 TEST(EventTest, NativeEvent) {
22 #if defined(OS_WIN)
23 MSG native_event = { NULL, WM_KEYUP, ui::VKEY_A, 0 };
24 KeyEvent keyev(native_event, false);
25 EXPECT_TRUE(keyev.HasNativeEvent());
26 #elif defined(USE_X11)
27 scoped_ptr<XEvent> native_event(new XEvent);
28 ui::InitXKeyEventForTesting(ui::ET_KEY_RELEASED,
29 ui::VKEY_A,
30 0,
31 native_event.get());
32 KeyEvent keyev(native_event.get(), false);
33 EXPECT_TRUE(keyev.HasNativeEvent());
34 #endif
35 }
36
37 TEST(EventTest, GetCharacter) {
38 // Check if Control+Enter returns 10.
39 KeyEvent keyev1(ui::ET_KEY_PRESSED,
40 ui::VKEY_RETURN,
41 ui::EF_CONTROL_DOWN);
42 EXPECT_EQ(10, keyev1.GetCharacter());
43 EXPECT_EQ(13, keyev1.GetUnmodifiedCharacter());
44 // Check if Enter returns 13.
45 KeyEvent keyev2(ui::ET_KEY_PRESSED,
46 ui::VKEY_RETURN,
47 0);
48 EXPECT_EQ(13, keyev2.GetCharacter());
49 EXPECT_EQ(13, keyev2.GetUnmodifiedCharacter());
50
51 #if defined(USE_X11)
52 // For X11, test the functions with native_event() as well. crbug.com/107837
53 scoped_ptr<XEvent> native_event(new XEvent);
54
55 ui::InitXKeyEventForTesting(ui::ET_KEY_PRESSED,
56 ui::VKEY_RETURN,
57 ui::EF_CONTROL_DOWN,
58 native_event.get());
59 KeyEvent keyev3(native_event.get(), false);
60 EXPECT_EQ(10, keyev3.GetCharacter());
61 EXPECT_EQ(13, keyev3.GetUnmodifiedCharacter());
62
63 ui::InitXKeyEventForTesting(ui::ET_KEY_PRESSED,
64 ui::VKEY_RETURN,
65 0,
66 native_event.get());
67 KeyEvent keyev4(native_event.get(), false);
68 EXPECT_EQ(13, keyev4.GetCharacter());
69 EXPECT_EQ(13, keyev4.GetUnmodifiedCharacter());
70 #endif
71 }
72
73 TEST(EventTest, ClickCount) {
74 const gfx::Point origin(0, 0);
75 MouseEvent mouseev(ui::ET_MOUSE_PRESSED, origin, origin, 0);
76 for (int i = 1; i <=3 ; ++i) {
77 mouseev.SetClickCount(i);
78 EXPECT_EQ(i, mouseev.GetClickCount());
79 }
80 }
81
82 TEST(EventTest, Repeated) {
83 const gfx::Point origin(0, 0);
84 MouseEvent mouse_ev1(ui::ET_MOUSE_PRESSED, origin, origin, 0);
85 MouseEvent mouse_ev2(ui::ET_MOUSE_PRESSED, origin, origin, 0);
86 MouseEvent::TestApi test_ev1(&mouse_ev1);
87 MouseEvent::TestApi test_ev2(&mouse_ev2);
88
89 base::TimeDelta start = base::TimeDelta::FromMilliseconds(0);
90 base::TimeDelta soon = start + base::TimeDelta::FromMilliseconds(1);
91 base::TimeDelta later = start + base::TimeDelta::FromMilliseconds(1000);
92
93 // Close point.
94 test_ev1.set_location(gfx::Point(0, 0));
95 test_ev2.set_location(gfx::Point(1, 0));
96 test_ev1.set_time_stamp(start);
97 test_ev2.set_time_stamp(soon);
98 EXPECT_TRUE(MouseEvent::IsRepeatedClickEvent(mouse_ev1, mouse_ev2));
99
100 // Too far.
101 test_ev1.set_location(gfx::Point(0, 0));
102 test_ev2.set_location(gfx::Point(10, 0));
103 test_ev1.set_time_stamp(start);
104 test_ev2.set_time_stamp(soon);
105 EXPECT_FALSE(MouseEvent::IsRepeatedClickEvent(mouse_ev1, mouse_ev2));
106
107 // Too long a time between clicks.
108 test_ev1.set_location(gfx::Point(0, 0));
109 test_ev2.set_location(gfx::Point(0, 0));
110 test_ev1.set_time_stamp(start);
111 test_ev2.set_time_stamp(later);
112 EXPECT_FALSE(MouseEvent::IsRepeatedClickEvent(mouse_ev1, mouse_ev2));
113 }
114
115 } // namespace test
116 } // namespace aura
OLDNEW
« no previous file with comments | « ui/aura/event_mac.mm ('k') | ui/aura/focus_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698