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

Side by Side Diff: chrome_frame/test/mock_ie_event_sink_actions.h

Issue 2822016: [chrome_frame] Refactor/merge IE no interference tests with other mock event ... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 5 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 | « chrome_frame/test/ie_event_sink.cc ('k') | chrome_frame/test/mock_ie_event_sink_test.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Property Changes:
Added: svn:eol-style
+ LF
OLDNEW
(Empty)
1 // Copyright (c) 2010 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 #ifndef CHROME_FRAME_TEST_MOCK_IE_EVENT_SINK_ACTIONS_H_
6 #define CHROME_FRAME_TEST_MOCK_IE_EVENT_SINK_ACTIONS_H_
7
8 #include "chrome_frame/test/simulate_input.h"
9 #include "testing/gmock/include/gmock/gmock.h"
10
11 namespace chrome_frame_test {
12
13 MATCHER_P(UrlPathEq, url, "equals the path and query portion of the url") {
14 return arg == chrome_frame_test::GetPathAndQueryFromUrl(url);
15 }
16
17 ACTION_P3(DelayCloseBrowserMock, loop, delay, mock) {
18 loop->PostDelayedTask(FROM_HERE, NewRunnableMethod(mock->event_sink(),
19 &IEEventSink::CloseWebBrowser), delay);
20 }
21
22 ACTION_P(SetFocusToRenderer, mock) {
23 simulate_input::SetKeyboardFocusToWindow(
24 mock->event_sink()->GetRendererWindow());
25 }
26
27 ACTION_P2(Navigate, mock, navigate_url) {
28 mock->event_sink()->Navigate(navigate_url);
29 }
30
31 ACTION_P2(WatchWindow, mock, window_class) {
32 mock->WatchWindow(window_class);
33 }
34
35 ACTION_P(StopWindowWatching, mock) {
36 mock->StopWatching();
37 }
38
39 ACTION_P(ExpectRendererHasFocus, mock) {
40 mock->event_sink()->ExpectRendererWindowHasFocus();
41 }
42
43 ACTION_P8(DelayExecCommand, mock, loop, delay, cmd_group_guid, cmd_id,
44 cmd_exec_opt, in_args, out_args) {
45 loop->PostDelayedTask(FROM_HERE, NewRunnableMethod(mock->event_sink(),
46 &IEEventSink::Exec, cmd_group_guid, cmd_id, cmd_exec_opt, in_args,
47 out_args), delay);
48 }
49
50 ACTION_P3(DelayRefresh, mock, loop, delay) {
51 loop->PostDelayedTask(FROM_HERE, NewRunnableMethod(mock->event_sink(),
52 &IEEventSink::Refresh), delay);
53 }
54
55 ACTION_P6(DelaySendMouseClick, mock, loop, delay, x, y, button) {
56 loop->PostDelayedTask(FROM_HERE, NewRunnableMethod(mock->event_sink(),
57 &IEEventSink::SendMouseClick, x, y, button), delay);
58 }
59
60 ACTION_P5(DelaySendDoubleClick, mock, loop, delay, x, y) {
61 loop->PostDelayedTask(FROM_HERE, NewRunnableMethod(mock->event_sink(),
62 &IEEventSink::SendMouseClick, x, y, simulate_input::LEFT), delay);
63 loop->PostDelayedTask(FROM_HERE, NewRunnableMethod(mock->event_sink(),
64 &IEEventSink::SendMouseClick, x, y, simulate_input::LEFT), delay + 100);
65 }
66
67 ACTION_P4(DelaySendChar, loop, delay, c, mod) {
68 loop->PostDelayedTask(FROM_HERE, NewRunnableFunction(
69 simulate_input::SendCharA, c, mod), delay);
70 }
71
72 ACTION_P3(DelaySendString, loop, delay, str) {
73 loop->PostDelayedTask(FROM_HERE, NewRunnableFunction(
74 simulate_input::SendStringW, str), delay);
75 }
76
77 ACTION_P5(SendExtendedKeysEnter, loop, delay, c, repeat, mod) {
78 chrome_frame_test::DelaySendExtendedKeysEnter(loop, delay, c, repeat, mod);
79 }
80
81 ACTION(DoCloseWindow) {
82 ::PostMessage(arg0, WM_SYSCOMMAND, SC_CLOSE, 0);
83 }
84
85 ACTION_P3(DelayGoBack, mock, loop, delay) {
86 loop->PostDelayedTask(FROM_HERE, NewRunnableMethod(mock->event_sink(),
87 &IEEventSink::GoBack), delay);
88 }
89
90 ACTION_P3(DelayGoForward, mock, loop, delay) {
91 loop->PostDelayedTask(FROM_HERE, NewRunnableMethod(mock->event_sink(),
92 &IEEventSink::GoForward), delay);
93 }
94
95 ACTION_P(CloseBrowserMock, mock) {
96 mock->event_sink()->CloseWebBrowser();
97 }
98
99 ACTION_P(VerifyAddressBarUrl, mock) {
100 mock->event_sink()->ExpectAddressBarUrl(std::wstring(arg1));
101 }
102
103 ACTION_P4(DelaySendScanCode, loop, delay, c, mod) {
104 loop->PostDelayedTask(FROM_HERE, NewRunnableFunction(
105 simulate_input::SendScanCode, c, mod), delay);
106 }
107
108 // This function selects the address bar via the Alt+d shortcut. This is done
109 // via a delayed task which executes after the delay which is passed in.
110 // The subsequent operations like typing in the actual url and then hitting
111 // enter to force the browser to navigate to it each execute as delayed tasks
112 // timed at the delay passed in. The recommended value for delay is 2000 ms
113 // to account for the time taken for the accelerator keys to be reflected back
114 // from Chrome.
115 ACTION_P3(TypeUrlInAddressBar, loop, url, delay) {
116 loop->PostDelayedTask(FROM_HERE, NewRunnableFunction(
117 simulate_input::SendCharA, 'd', simulate_input::ALT),
118 delay);
119
120 const unsigned int kInterval = 500;
121 int next_delay = delay + kInterval;
122
123 loop->PostDelayedTask(FROM_HERE, NewRunnableFunction(
124 simulate_input::SendStringW, url), next_delay);
125
126 next_delay = next_delay + kInterval;
127
128 loop->PostDelayedTask(FROM_HERE, NewRunnableFunction(
129 simulate_input::SendCharA, VK_RETURN, simulate_input::NONE),
130 next_delay);
131 }
132
133 ACTION_P5(ValidateWindowSize, mock, left, top, width, height) {
134 int actual_left = 0;
135 int actual_top = 0;
136 int actual_width = 0;
137 int actual_height = 0;
138
139 IWebBrowser2* web_browser2 = mock->event_sink()->web_browser2();
140 web_browser2->get_Left(reinterpret_cast<long*>(&actual_left));
141 web_browser2->get_Top(reinterpret_cast<long*>(&actual_top));
142 web_browser2->get_Width(reinterpret_cast<long*>(&actual_width));
143 web_browser2->get_Height(reinterpret_cast<long*>(&actual_height));
144
145 EXPECT_EQ(actual_left, left);
146 EXPECT_EQ(actual_top, top);
147
148 EXPECT_LE(actual_width, width + 20);
149 EXPECT_GT(actual_width, width - 20);
150 EXPECT_LE(actual_height, height + 100);
151 EXPECT_GT(actual_height, height - 100);
152 }
153
154 ACTION_P(VerifyAddressBarUrlWithGcf, mock) {
155 std::wstring expected_url = L"gcf:";
156 expected_url += arg1;
157 mock->event_sink()->ExpectAddressBarUrl(expected_url);
158 }
159
160 ACTION_P2(OpenContextMenu, loop, delay) {
161 loop->PostDelayedTask(FROM_HERE, NewRunnableFunction(
162 simulate_input::SendScanCode, VK_F10, simulate_input::SHIFT), delay);
163 }
164
165 ACTION_P3(SelectItem, loop, delay, index) {
166 chrome_frame_test::DelaySendExtendedKeysEnter(loop, delay, VK_DOWN, index + 1,
167 simulate_input::NONE);
168 }
169
170 } // namespace chrome_frame_test
171
172 #endif // CHROME_FRAME_TEST_MOCK_IE_EVENT_SINK_ACTIONS_H_
OLDNEW
« no previous file with comments | « chrome_frame/test/ie_event_sink.cc ('k') | chrome_frame/test/mock_ie_event_sink_test.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698