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

Side by Side Diff: blimp/common/logging_unittest.cc

Issue 2626423004: Remove all //blimp code. (Closed)
Patch Set: One last(?) `git merge` for good measure. Created 3 years, 11 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
« no previous file with comments | « blimp/common/logging.cc ('k') | blimp/common/mandatory_callback.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 2016 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 <memory>
6 #include <sstream>
7 #include <string>
8
9 #include "base/at_exit.h"
10 #include "base/strings/stringprintf.h"
11 #include "blimp/common/create_blimp_message.h"
12 #include "blimp/common/logging.h"
13 #include "blimp/common/proto/blimp_message.pb.h"
14 #include "blimp/common/proto/blob_channel.pb.h"
15 #include "testing/gmock/include/gmock/gmock.h"
16 #include "testing/gtest/include/gtest/gtest.h"
17
18 using testing::Return;
19
20 namespace blimp {
21 namespace {
22
23 const int kTargetTab = 123;
24
25 // Verifies that the logged form of |msg| matches |expected|, modulo prefix
26 // and suffix.
27 void VerifyLogOutput(const std::string& expected_fragment,
28 const BlimpMessage& msg) {
29 std::string expected = "<BlimpMessage " + expected_fragment + " byte_size=" +
30 std::to_string(msg.ByteSize()) + ">";
31 std::stringstream outstream;
32 outstream << msg;
33 EXPECT_EQ(expected, outstream.str());
34 }
35
36 class LoggingTest : public testing::Test {
37 public:
38 LoggingTest() {}
39 ~LoggingTest() override {}
40
41 private:
42 // Deletes the singleton on test termination.
43 base::ShadowingAtExitManager at_exit_;
44 };
45
46 TEST_F(LoggingTest, Compositor) {
47 BlimpMessage base_msg;
48 base_msg.mutable_compositor();
49 base_msg.set_target_tab_id(kTargetTab);
50 VerifyLogOutput("type=COMPOSITOR render_widget_id=0 target_tab_id=123",
51 base_msg);
52 }
53
54 TEST_F(LoggingTest, Input) {
55 const char* fragment_format =
56 "type=INPUT render_widget_id=1 timestamp_seconds=2.000000 subtype=%s"
57 " target_tab_id=123";
58
59 BlimpMessage base_msg;
60 base_msg.set_target_tab_id(kTargetTab);
61 base_msg.mutable_input()->set_type(InputMessage::Type_GestureScrollBegin);
62 base_msg.mutable_input()->set_render_widget_id(1);
63 base_msg.mutable_input()->set_timestamp_seconds(2);
64 VerifyLogOutput(base::StringPrintf(fragment_format, "GestureScrollBegin"),
65 base_msg);
66
67 base_msg.mutable_input()->set_type(InputMessage::Type_GestureScrollEnd);
68 VerifyLogOutput(base::StringPrintf(fragment_format, "GestureScrollEnd"),
69 base_msg);
70
71 base_msg.mutable_input()->set_type(InputMessage::Type_GestureScrollUpdate);
72 VerifyLogOutput(base::StringPrintf(fragment_format, "GestureScrollUpdate"),
73 base_msg);
74
75 base_msg.mutable_input()->set_type(InputMessage::Type_GestureFlingStart);
76 VerifyLogOutput(base::StringPrintf(fragment_format, "GestureFlingStart"),
77 base_msg);
78
79 base_msg.mutable_input()->set_type(InputMessage::Type_GestureTap);
80 VerifyLogOutput(base::StringPrintf(fragment_format, "GestureTap"), base_msg);
81
82 base_msg.mutable_input()->set_type(InputMessage::Type_GesturePinchBegin);
83 VerifyLogOutput(base::StringPrintf(fragment_format, "GesturePinchBegin"),
84 base_msg);
85
86 base_msg.mutable_input()->set_type(InputMessage::Type_GesturePinchEnd);
87 VerifyLogOutput(base::StringPrintf(fragment_format, "GesturePinchEnd"),
88 base_msg);
89
90 base_msg.mutable_input()->set_type(InputMessage::Type_GesturePinchUpdate);
91 VerifyLogOutput(base::StringPrintf(fragment_format, "GesturePinchUpdate"),
92 base_msg);
93
94 base_msg.mutable_input()->set_type(InputMessage::Type_GestureFlingCancel);
95 base_msg.mutable_input()
96 ->mutable_gesture_fling_cancel()
97 ->set_prevent_boosting(true);
98 VerifyLogOutput(
99 "type=INPUT render_widget_id=1 timestamp_seconds=2.000000 "
100 "subtype=GestureFlingCancel prevent_boosting=true target_tab_id=123",
101 base_msg);
102 }
103
104 TEST_F(LoggingTest, Navigation) {
105 BlimpMessage base_msg;
106 base_msg.set_target_tab_id(kTargetTab);
107
108 BlimpMessage navigation_state_msg = base_msg;
109 navigation_state_msg.mutable_navigation()->set_type(
110 NavigationMessage::NAVIGATION_STATE_CHANGED);
111 navigation_state_msg.mutable_navigation()
112 ->mutable_navigation_state_changed()
113 ->set_url("http://foo.com");
114 navigation_state_msg.mutable_navigation()
115 ->mutable_navigation_state_changed()
116 ->set_favicon("bytes!");
117 navigation_state_msg.mutable_navigation()
118 ->mutable_navigation_state_changed()
119 ->set_title("FooCo");
120 navigation_state_msg.mutable_navigation()
121 ->mutable_navigation_state_changed()
122 ->set_loading(true);
123 VerifyLogOutput(
124 "type=NAVIGATION subtype=NAVIGATION_STATE_CHANGED url=\"http://foo.com\" "
125 "favicon_size=6 title=\"FooCo\" loading=true target_tab_id=123",
126 navigation_state_msg);
127
128 BlimpMessage load_url_msg = base_msg;
129 load_url_msg.mutable_navigation()->set_type(NavigationMessage::LOAD_URL);
130 load_url_msg.mutable_navigation()->mutable_load_url()->set_url(
131 "http://foo.com");
132 VerifyLogOutput(
133 "type=NAVIGATION subtype=LOAD_URL url=\"http://foo.com\" "
134 "target_tab_id=123",
135 load_url_msg);
136
137 BlimpMessage go_back_msg = base_msg;
138 go_back_msg.mutable_navigation()->set_type(NavigationMessage::GO_BACK);
139 VerifyLogOutput("type=NAVIGATION subtype=GO_BACK target_tab_id=123",
140 go_back_msg);
141
142 BlimpMessage go_forward_msg = base_msg;
143 go_forward_msg.mutable_navigation()->set_type(NavigationMessage::GO_FORWARD);
144 VerifyLogOutput("type=NAVIGATION subtype=GO_FORWARD target_tab_id=123",
145 go_forward_msg);
146
147 BlimpMessage reload_msg = base_msg;
148 reload_msg.mutable_navigation()->set_type(NavigationMessage::RELOAD);
149 VerifyLogOutput("type=NAVIGATION subtype=RELOAD target_tab_id=123",
150 reload_msg);
151 }
152
153 TEST_F(LoggingTest, TabControl) {
154 BlimpMessage base_msg;
155 base_msg.set_target_tab_id(kTargetTab);
156
157 BlimpMessage create_tab_msg = base_msg;
158 create_tab_msg.mutable_tab_control()->mutable_create_tab();
159 VerifyLogOutput("type=TAB_CONTROL subtype=CREATE_TAB target_tab_id=123",
160 create_tab_msg);
161
162 BlimpMessage close_tab_msg = base_msg;
163 close_tab_msg.mutable_tab_control()->mutable_close_tab();
164 VerifyLogOutput("type=TAB_CONTROL subtype=CLOSE_TAB target_tab_id=123",
165 close_tab_msg);
166
167 BlimpMessage size_msg = base_msg;
168 size_msg.mutable_tab_control()->mutable_size();
169 size_msg.mutable_tab_control()->mutable_size()->set_width(640);
170 size_msg.mutable_tab_control()->mutable_size()->set_height(480);
171 size_msg.mutable_tab_control()->mutable_size()->set_device_pixel_ratio(2);
172 VerifyLogOutput(
173 "type=TAB_CONTROL subtype=SIZE size=640x480:2.00 target_tab_id=123",
174 size_msg);
175 }
176
177 TEST_F(LoggingTest, Geolocation) {
178 BlimpMessage base_msg;
179
180 BlimpMessage interest_level_msg = base_msg;
181 interest_level_msg.mutable_geolocation()->mutable_set_interest_level()
182 ->set_level(GeolocationSetInterestLevelMessage::HIGH_ACCURACY);
183 VerifyLogOutput("type=GEOLOCATION subtype=SET_INTEREST_LEVEL "
184 "level=1", interest_level_msg);
185
186 BlimpMessage request_refresh_msg = base_msg;
187 request_refresh_msg.mutable_geolocation()->mutable_request_refresh();
188 VerifyLogOutput("type=GEOLOCATION subtype=REQUEST_REFRESH",
189 request_refresh_msg);
190
191 BlimpMessage coordinates_msg = base_msg;
192 coordinates_msg.mutable_geolocation()->mutable_coordinates()
193 ->set_latitude(140);
194 coordinates_msg.mutable_geolocation()->mutable_coordinates()
195 ->set_longitude(150);
196 coordinates_msg.mutable_geolocation()->mutable_coordinates()
197 ->set_altitude(160);
198 coordinates_msg.mutable_geolocation()->mutable_coordinates()
199 ->set_accuracy(50);
200 coordinates_msg.mutable_geolocation()->mutable_coordinates()
201 ->set_altitude_accuracy(60);
202 coordinates_msg.mutable_geolocation()->mutable_coordinates()
203 ->set_heading(70);
204 coordinates_msg.mutable_geolocation()->mutable_coordinates()->set_speed(80);
205 VerifyLogOutput("type=GEOLOCATION subtype=COORDINATES "
206 "latitude=140.000000 longitude=150.000000 "
207 "altitude=160.000000 accuracy=50.000000 "
208 "altitude_accuracy=60.000000 heading=70.000000 "
209 "speed=80.000000",
210 coordinates_msg);
211
212 BlimpMessage error_msg = base_msg;
213 error_msg.mutable_geolocation()->mutable_error()->set_error_code(
214 GeolocationErrorMessage::TIMEOUT);
215 error_msg.mutable_geolocation()->mutable_error()->set_error_message(
216 "Timeout occured.");
217 VerifyLogOutput("type=GEOLOCATION subtype=ERROR "
218 "error_code=3 error_message=\"Timeout occured.\"",
219 error_msg);
220 }
221
222 TEST_F(LoggingTest, ProtocolControl) {
223 BlimpMessage base_msg;
224
225 BlimpMessage start_connection_msg = base_msg;
226 start_connection_msg.mutable_protocol_control()->mutable_start_connection();
227 start_connection_msg.mutable_protocol_control()
228 ->mutable_start_connection()
229 ->set_client_auth_token("token");
230 start_connection_msg.mutable_protocol_control()
231 ->mutable_start_connection()
232 ->set_protocol_version(2);
233 VerifyLogOutput(
234 "type=PROTOCOL_CONTROL subtype=START_CONNECTION "
235 "client_token=\"token\" protocol_version=2",
236 start_connection_msg);
237
238 start_connection_msg.mutable_protocol_control()->mutable_checkpoint_ack();
239 start_connection_msg.mutable_protocol_control()
240 ->mutable_checkpoint_ack()
241 ->set_checkpoint_id(123);
242 VerifyLogOutput(
243 "type=PROTOCOL_CONTROL subtype=CHECKPOINT_ACK "
244 "checkpoint_id=123",
245 start_connection_msg);
246 }
247
248 TEST_F(LoggingTest, RenderWidget) {
249 BlimpMessage base_msg;
250 base_msg.mutable_render_widget()->set_render_widget_id(123);
251
252 BlimpMessage initialize_msg = base_msg;
253 initialize_msg.mutable_render_widget()->set_type(
254 RenderWidgetMessage::INITIALIZE);
255 VerifyLogOutput("type=RENDER_WIDGET subtype=INITIALIZE render_widget_id=123",
256 initialize_msg);
257
258 BlimpMessage created_msg = base_msg;
259 created_msg.mutable_render_widget()->set_type(
260 RenderWidgetMessage::CREATED);
261 VerifyLogOutput("type=RENDER_WIDGET subtype=CREATED render_widget_id=123",
262 created_msg);
263
264 BlimpMessage deleted_msg = base_msg;
265 deleted_msg.mutable_render_widget()->set_type(RenderWidgetMessage::DELETED);
266 VerifyLogOutput("type=RENDER_WIDGET subtype=DELETED render_widget_id=123",
267 deleted_msg);
268 }
269
270 TEST_F(LoggingTest, BlobChannel) {
271 BlobChannelMessage* blob_message = nullptr;
272 std::unique_ptr<BlimpMessage> blimp_message =
273 CreateBlimpMessage(&blob_message);
274 blob_message->mutable_transfer_blob()->set_blob_id("AAA");
275 blob_message->mutable_transfer_blob()->set_payload("123");
276
277 VerifyLogOutput(
278 "type=BLOB_CHANNEL subtype=TRANSFER_BLOB id=\"414141\" payload_size=3",
279 *blimp_message);
280 }
281
282 TEST_F(LoggingTest, Settings) {
283 BlimpMessage message;
284 message.mutable_settings()
285 ->mutable_engine_settings()
286 ->set_record_whole_document(true);
287 message.mutable_settings()->mutable_engine_settings()->set_client_os_info(
288 "wibble");
289 VerifyLogOutput(
290 "type=SETTINGS subtype=ENGINE_SETTINGS record_whole_document=true "
291 "client_os_info=\"wibble\"",
292 message);
293 }
294
295 TEST_F(LoggingTest, Ime) {
296 BlimpMessage message;
297 message.mutable_ime()->set_render_widget_id(1);
298
299 // Test SHOW_IME.
300 message.mutable_ime()->set_type(ImeMessage::SHOW_IME);
301 message.mutable_ime()->set_text_input_type(ImeMessage::NONE);
302 VerifyLogOutput(
303 "type=IME render_widget_id=1 subtype=SHOW_IME text_input_type=0",
304 message);
305
306 // Test HIDE_IME.
307 message.mutable_ime()->set_type(ImeMessage::HIDE_IME);
308 VerifyLogOutput(
309 "type=IME render_widget_id=1 subtype=HIDE_IME",
310 message);
311
312 // Test SET_TEXT.
313 message.mutable_ime()->set_type(ImeMessage::SET_TEXT);
314 message.mutable_ime()->set_ime_text("1234");
315 VerifyLogOutput(
316 "type=IME render_widget_id=1 subtype=SET_TEXT ime_text(length)=4",
317 message);
318 }
319
320 } // namespace
321 } // namespace blimp
OLDNEW
« no previous file with comments | « blimp/common/logging.cc ('k') | blimp/common/mandatory_callback.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698