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

Side by Side Diff: extensions/renderer/api/serial/serial_api_unittest.cc

Issue 664933004: Standardize usage of virtual/override/final in extensions/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "device/serial/serial_device_enumerator.h" 5 #include "device/serial/serial_device_enumerator.h"
6 #include "device/serial/serial_service_impl.h" 6 #include "device/serial/serial_service_impl.h"
7 #include "device/serial/test_serial_io_handler.h" 7 #include "device/serial/test_serial_io_handler.h"
8 #include "extensions/renderer/api_test_base.h" 8 #include "extensions/renderer/api_test_base.h"
9 #include "grit/extensions_renderer_resources.h" 9 #include "grit/extensions_renderer_resources.h"
10 10
11 // A test launcher for tests for the serial API defined in 11 // A test launcher for tests for the serial API defined in
12 // extensions/test/data/serial_unittest.js. Each C++ test function sets up a 12 // extensions/test/data/serial_unittest.js. Each C++ test function sets up a
13 // fake DeviceEnumerator or SerialIoHandler expecting or returning particular 13 // fake DeviceEnumerator or SerialIoHandler expecting or returning particular
14 // values for that test. 14 // values for that test.
15 15
16 namespace extensions { 16 namespace extensions {
17 17
18 namespace { 18 namespace {
19 19
20 class FakeSerialDeviceEnumerator : public device::SerialDeviceEnumerator { 20 class FakeSerialDeviceEnumerator : public device::SerialDeviceEnumerator {
21 virtual mojo::Array<device::serial::DeviceInfoPtr> GetDevices() override { 21 mojo::Array<device::serial::DeviceInfoPtr> GetDevices() override {
22 mojo::Array<device::serial::DeviceInfoPtr> result(3); 22 mojo::Array<device::serial::DeviceInfoPtr> result(3);
23 result[0] = device::serial::DeviceInfo::New(); 23 result[0] = device::serial::DeviceInfo::New();
24 result[0]->path = "device"; 24 result[0]->path = "device";
25 result[0]->vendor_id = 1234; 25 result[0]->vendor_id = 1234;
26 result[0]->has_vendor_id = true; 26 result[0]->has_vendor_id = true;
27 result[0]->product_id = 5678; 27 result[0]->product_id = 5678;
28 result[0]->has_product_id = true; 28 result[0]->has_product_id = true;
29 result[0]->display_name = "foo"; 29 result[0]->display_name = "foo";
30 result[1] = device::serial::DeviceInfo::New(); 30 result[1] = device::serial::DeviceInfo::New();
31 result[1]->path = "another_device"; 31 result[1]->path = "another_device";
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 return result; 101 return result;
102 } 102 }
103 103
104 class TestIoHandlerBase : public device::TestSerialIoHandler { 104 class TestIoHandlerBase : public device::TestSerialIoHandler {
105 public: 105 public:
106 TestIoHandlerBase() : calls_(0) {} 106 TestIoHandlerBase() : calls_(0) {}
107 107
108 size_t num_calls() const { return calls_; } 108 size_t num_calls() const { return calls_; }
109 109
110 protected: 110 protected:
111 virtual ~TestIoHandlerBase() {} 111 ~TestIoHandlerBase() override {}
112 void record_call() const { calls_++; } 112 void record_call() const { calls_++; }
113 113
114 private: 114 private:
115 mutable size_t calls_; 115 mutable size_t calls_;
116 116
117 DISALLOW_COPY_AND_ASSIGN(TestIoHandlerBase); 117 DISALLOW_COPY_AND_ASSIGN(TestIoHandlerBase);
118 }; 118 };
119 119
120 class SetControlSignalsTestIoHandler : public TestIoHandlerBase { 120 class SetControlSignalsTestIoHandler : public TestIoHandlerBase {
121 public: 121 public:
122 SetControlSignalsTestIoHandler() {} 122 SetControlSignalsTestIoHandler() {}
123 123
124 virtual bool SetControlSignals( 124 bool SetControlSignals(
125 const device::serial::HostControlSignals& signals) override { 125 const device::serial::HostControlSignals& signals) override {
126 static const device::serial::HostControlSignals expected_signals[] = { 126 static const device::serial::HostControlSignals expected_signals[] = {
127 GenerateControlSignals(OPTIONAL_VALUE_UNSET, OPTIONAL_VALUE_UNSET), 127 GenerateControlSignals(OPTIONAL_VALUE_UNSET, OPTIONAL_VALUE_UNSET),
128 GenerateControlSignals(OPTIONAL_VALUE_FALSE, OPTIONAL_VALUE_UNSET), 128 GenerateControlSignals(OPTIONAL_VALUE_FALSE, OPTIONAL_VALUE_UNSET),
129 GenerateControlSignals(OPTIONAL_VALUE_TRUE, OPTIONAL_VALUE_UNSET), 129 GenerateControlSignals(OPTIONAL_VALUE_TRUE, OPTIONAL_VALUE_UNSET),
130 GenerateControlSignals(OPTIONAL_VALUE_UNSET, OPTIONAL_VALUE_FALSE), 130 GenerateControlSignals(OPTIONAL_VALUE_UNSET, OPTIONAL_VALUE_FALSE),
131 GenerateControlSignals(OPTIONAL_VALUE_FALSE, OPTIONAL_VALUE_FALSE), 131 GenerateControlSignals(OPTIONAL_VALUE_FALSE, OPTIONAL_VALUE_FALSE),
132 GenerateControlSignals(OPTIONAL_VALUE_TRUE, OPTIONAL_VALUE_FALSE), 132 GenerateControlSignals(OPTIONAL_VALUE_TRUE, OPTIONAL_VALUE_FALSE),
133 GenerateControlSignals(OPTIONAL_VALUE_UNSET, OPTIONAL_VALUE_TRUE), 133 GenerateControlSignals(OPTIONAL_VALUE_UNSET, OPTIONAL_VALUE_TRUE),
134 GenerateControlSignals(OPTIONAL_VALUE_FALSE, OPTIONAL_VALUE_TRUE), 134 GenerateControlSignals(OPTIONAL_VALUE_FALSE, OPTIONAL_VALUE_TRUE),
135 GenerateControlSignals(OPTIONAL_VALUE_TRUE, OPTIONAL_VALUE_TRUE), 135 GenerateControlSignals(OPTIONAL_VALUE_TRUE, OPTIONAL_VALUE_TRUE),
136 }; 136 };
137 if (num_calls() >= arraysize(expected_signals)) 137 if (num_calls() >= arraysize(expected_signals))
138 return false; 138 return false;
139 139
140 EXPECT_EQ(expected_signals[num_calls()].has_dtr, signals.has_dtr); 140 EXPECT_EQ(expected_signals[num_calls()].has_dtr, signals.has_dtr);
141 EXPECT_EQ(expected_signals[num_calls()].dtr, signals.dtr); 141 EXPECT_EQ(expected_signals[num_calls()].dtr, signals.dtr);
142 EXPECT_EQ(expected_signals[num_calls()].has_rts, signals.has_rts); 142 EXPECT_EQ(expected_signals[num_calls()].has_rts, signals.has_rts);
143 EXPECT_EQ(expected_signals[num_calls()].rts, signals.rts); 143 EXPECT_EQ(expected_signals[num_calls()].rts, signals.rts);
144 record_call(); 144 record_call();
145 return true; 145 return true;
146 } 146 }
147 147
148 private: 148 private:
149 virtual ~SetControlSignalsTestIoHandler() {} 149 ~SetControlSignalsTestIoHandler() override {}
150 150
151 DISALLOW_COPY_AND_ASSIGN(SetControlSignalsTestIoHandler); 151 DISALLOW_COPY_AND_ASSIGN(SetControlSignalsTestIoHandler);
152 }; 152 };
153 153
154 class GetControlSignalsTestIoHandler : public TestIoHandlerBase { 154 class GetControlSignalsTestIoHandler : public TestIoHandlerBase {
155 public: 155 public:
156 GetControlSignalsTestIoHandler() {} 156 GetControlSignalsTestIoHandler() {}
157 157
158 virtual device::serial::DeviceControlSignalsPtr GetControlSignals() 158 device::serial::DeviceControlSignalsPtr GetControlSignals() const override {
159 const override {
160 device::serial::DeviceControlSignalsPtr signals( 159 device::serial::DeviceControlSignalsPtr signals(
161 device::serial::DeviceControlSignals::New()); 160 device::serial::DeviceControlSignals::New());
162 signals->dcd = num_calls() & 1; 161 signals->dcd = num_calls() & 1;
163 signals->cts = num_calls() & 2; 162 signals->cts = num_calls() & 2;
164 signals->ri = num_calls() & 4; 163 signals->ri = num_calls() & 4;
165 signals->dsr = num_calls() & 8; 164 signals->dsr = num_calls() & 8;
166 record_call(); 165 record_call();
167 return signals.Pass(); 166 return signals.Pass();
168 } 167 }
169 168
170 private: 169 private:
171 virtual ~GetControlSignalsTestIoHandler() {} 170 ~GetControlSignalsTestIoHandler() override {}
172 171
173 DISALLOW_COPY_AND_ASSIGN(GetControlSignalsTestIoHandler); 172 DISALLOW_COPY_AND_ASSIGN(GetControlSignalsTestIoHandler);
174 }; 173 };
175 174
176 class ConfigurePortTestIoHandler : public TestIoHandlerBase { 175 class ConfigurePortTestIoHandler : public TestIoHandlerBase {
177 public: 176 public:
178 ConfigurePortTestIoHandler() {} 177 ConfigurePortTestIoHandler() {}
179 virtual bool ConfigurePort( 178 bool ConfigurePort(
180 const device::serial::ConnectionOptions& options) override { 179 const device::serial::ConnectionOptions& options) override {
181 static const device::serial::ConnectionOptions expected_options[] = { 180 static const device::serial::ConnectionOptions expected_options[] = {
182 GenerateConnectionOptions(9600, 181 GenerateConnectionOptions(9600,
183 device::serial::DATA_BITS_EIGHT, 182 device::serial::DATA_BITS_EIGHT,
184 device::serial::PARITY_BIT_NO, 183 device::serial::PARITY_BIT_NO,
185 device::serial::STOP_BITS_ONE, 184 device::serial::STOP_BITS_ONE,
186 OPTIONAL_VALUE_FALSE), 185 OPTIONAL_VALUE_FALSE),
187 GenerateConnectionOptions(57600, 186 GenerateConnectionOptions(57600,
188 device::serial::DATA_BITS_NONE, 187 device::serial::DATA_BITS_NONE,
189 device::serial::PARITY_BIT_NONE, 188 device::serial::PARITY_BIT_NONE,
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
244 EXPECT_EQ(expected_options[num_calls()].stop_bits, options.stop_bits); 243 EXPECT_EQ(expected_options[num_calls()].stop_bits, options.stop_bits);
245 EXPECT_EQ(expected_options[num_calls()].has_cts_flow_control, 244 EXPECT_EQ(expected_options[num_calls()].has_cts_flow_control,
246 options.has_cts_flow_control); 245 options.has_cts_flow_control);
247 EXPECT_EQ(expected_options[num_calls()].cts_flow_control, 246 EXPECT_EQ(expected_options[num_calls()].cts_flow_control,
248 options.cts_flow_control); 247 options.cts_flow_control);
249 record_call(); 248 record_call();
250 return TestSerialIoHandler::ConfigurePort(options); 249 return TestSerialIoHandler::ConfigurePort(options);
251 } 250 }
252 251
253 private: 252 private:
254 virtual ~ConfigurePortTestIoHandler() {} 253 ~ConfigurePortTestIoHandler() override {}
255 254
256 DISALLOW_COPY_AND_ASSIGN(ConfigurePortTestIoHandler); 255 DISALLOW_COPY_AND_ASSIGN(ConfigurePortTestIoHandler);
257 }; 256 };
258 257
259 class FlushTestIoHandler : public TestIoHandlerBase { 258 class FlushTestIoHandler : public TestIoHandlerBase {
260 public: 259 public:
261 FlushTestIoHandler() {} 260 FlushTestIoHandler() {}
262 261
263 virtual bool Flush() const override { 262 bool Flush() const override {
264 record_call(); 263 record_call();
265 return true; 264 return true;
266 } 265 }
267 266
268 private: 267 private:
269 virtual ~FlushTestIoHandler() {} 268 ~FlushTestIoHandler() override {}
270 269
271 DISALLOW_COPY_AND_ASSIGN(FlushTestIoHandler); 270 DISALLOW_COPY_AND_ASSIGN(FlushTestIoHandler);
272 }; 271 };
273 272
274 class FailToConnectTestIoHandler : public TestIoHandlerBase { 273 class FailToConnectTestIoHandler : public TestIoHandlerBase {
275 public: 274 public:
276 FailToConnectTestIoHandler() {} 275 FailToConnectTestIoHandler() {}
277 virtual void Open(const std::string& port, 276 void Open(const std::string& port,
278 const OpenCompleteCallback& callback) override { 277 const OpenCompleteCallback& callback) override {
279 callback.Run(false); 278 callback.Run(false);
280 return; 279 return;
281 } 280 }
282 281
283 private: 282 private:
284 virtual ~FailToConnectTestIoHandler() {} 283 ~FailToConnectTestIoHandler() override {}
285 284
286 DISALLOW_COPY_AND_ASSIGN(FailToConnectTestIoHandler); 285 DISALLOW_COPY_AND_ASSIGN(FailToConnectTestIoHandler);
287 }; 286 };
288 287
289 class FailToGetInfoTestIoHandler : public TestIoHandlerBase { 288 class FailToGetInfoTestIoHandler : public TestIoHandlerBase {
290 public: 289 public:
291 explicit FailToGetInfoTestIoHandler(int times_to_succeed) 290 explicit FailToGetInfoTestIoHandler(int times_to_succeed)
292 : times_to_succeed_(times_to_succeed) {} 291 : times_to_succeed_(times_to_succeed) {}
293 virtual device::serial::ConnectionInfoPtr GetPortInfo() const override { 292 device::serial::ConnectionInfoPtr GetPortInfo() const override {
294 if (times_to_succeed_-- > 0) 293 if (times_to_succeed_-- > 0)
295 return device::TestSerialIoHandler::GetPortInfo(); 294 return device::TestSerialIoHandler::GetPortInfo();
296 return device::serial::ConnectionInfoPtr(); 295 return device::serial::ConnectionInfoPtr();
297 } 296 }
298 297
299 private: 298 private:
300 virtual ~FailToGetInfoTestIoHandler() {} 299 ~FailToGetInfoTestIoHandler() override {}
301 300
302 mutable int times_to_succeed_; 301 mutable int times_to_succeed_;
303 302
304 DISALLOW_COPY_AND_ASSIGN(FailToGetInfoTestIoHandler); 303 DISALLOW_COPY_AND_ASSIGN(FailToGetInfoTestIoHandler);
305 }; 304 };
306 305
307 class SendErrorTestIoHandler : public TestIoHandlerBase { 306 class SendErrorTestIoHandler : public TestIoHandlerBase {
308 public: 307 public:
309 explicit SendErrorTestIoHandler(device::serial::SendError error) 308 explicit SendErrorTestIoHandler(device::serial::SendError error)
310 : error_(error) {} 309 : error_(error) {}
311 310
312 virtual void WriteImpl() override { QueueWriteCompleted(0, error_); } 311 void WriteImpl() override { QueueWriteCompleted(0, error_); }
313 312
314 private: 313 private:
315 virtual ~SendErrorTestIoHandler() {} 314 ~SendErrorTestIoHandler() override {}
316 315
317 device::serial::SendError error_; 316 device::serial::SendError error_;
318 317
319 DISALLOW_COPY_AND_ASSIGN(SendErrorTestIoHandler); 318 DISALLOW_COPY_AND_ASSIGN(SendErrorTestIoHandler);
320 }; 319 };
321 320
322 class FixedDataReceiveTestIoHandler : public TestIoHandlerBase { 321 class FixedDataReceiveTestIoHandler : public TestIoHandlerBase {
323 public: 322 public:
324 explicit FixedDataReceiveTestIoHandler(const std::string& data) 323 explicit FixedDataReceiveTestIoHandler(const std::string& data)
325 : data_(data) {} 324 : data_(data) {}
326 325
327 virtual void ReadImpl() override { 326 void ReadImpl() override {
328 if (pending_read_buffer_len() < data_.size()) 327 if (pending_read_buffer_len() < data_.size())
329 return; 328 return;
330 memcpy(pending_read_buffer(), data_.c_str(), data_.size()); 329 memcpy(pending_read_buffer(), data_.c_str(), data_.size());
331 QueueReadCompleted(static_cast<uint32_t>(data_.size()), 330 QueueReadCompleted(static_cast<uint32_t>(data_.size()),
332 device::serial::RECEIVE_ERROR_NONE); 331 device::serial::RECEIVE_ERROR_NONE);
333 } 332 }
334 333
335 private: 334 private:
336 virtual ~FixedDataReceiveTestIoHandler() {} 335 ~FixedDataReceiveTestIoHandler() override {}
337 336
338 const std::string data_; 337 const std::string data_;
339 338
340 DISALLOW_COPY_AND_ASSIGN(FixedDataReceiveTestIoHandler); 339 DISALLOW_COPY_AND_ASSIGN(FixedDataReceiveTestIoHandler);
341 }; 340 };
342 341
343 class ReceiveErrorTestIoHandler : public TestIoHandlerBase { 342 class ReceiveErrorTestIoHandler : public TestIoHandlerBase {
344 public: 343 public:
345 explicit ReceiveErrorTestIoHandler(device::serial::ReceiveError error) 344 explicit ReceiveErrorTestIoHandler(device::serial::ReceiveError error)
346 : error_(error) {} 345 : error_(error) {}
347 346
348 virtual void ReadImpl() override { QueueReadCompleted(0, error_); } 347 void ReadImpl() override { QueueReadCompleted(0, error_); }
349 348
350 private: 349 private:
351 virtual ~ReceiveErrorTestIoHandler() {} 350 ~ReceiveErrorTestIoHandler() override {}
352 351
353 device::serial::ReceiveError error_; 352 device::serial::ReceiveError error_;
354 353
355 DISALLOW_COPY_AND_ASSIGN(ReceiveErrorTestIoHandler); 354 DISALLOW_COPY_AND_ASSIGN(ReceiveErrorTestIoHandler);
356 }; 355 };
357 356
358 class SendDataWithErrorIoHandler : public TestIoHandlerBase { 357 class SendDataWithErrorIoHandler : public TestIoHandlerBase {
359 public: 358 public:
360 SendDataWithErrorIoHandler() : sent_error_(false) {} 359 SendDataWithErrorIoHandler() : sent_error_(false) {}
361 virtual void WriteImpl() override { 360 void WriteImpl() override {
362 if (sent_error_) { 361 if (sent_error_) {
363 WriteCompleted(pending_write_buffer_len(), 362 WriteCompleted(pending_write_buffer_len(),
364 device::serial::SEND_ERROR_NONE); 363 device::serial::SEND_ERROR_NONE);
365 return; 364 return;
366 } 365 }
367 sent_error_ = true; 366 sent_error_ = true;
368 // We expect the JS test code to send a 4 byte buffer. 367 // We expect the JS test code to send a 4 byte buffer.
369 ASSERT_LT(2u, pending_write_buffer_len()); 368 ASSERT_LT(2u, pending_write_buffer_len());
370 WriteCompleted(2, device::serial::SEND_ERROR_SYSTEM_ERROR); 369 WriteCompleted(2, device::serial::SEND_ERROR_SYSTEM_ERROR);
371 } 370 }
372 371
373 private: 372 private:
374 virtual ~SendDataWithErrorIoHandler() {} 373 ~SendDataWithErrorIoHandler() override {}
375 374
376 bool sent_error_; 375 bool sent_error_;
377 376
378 DISALLOW_COPY_AND_ASSIGN(SendDataWithErrorIoHandler); 377 DISALLOW_COPY_AND_ASSIGN(SendDataWithErrorIoHandler);
379 }; 378 };
380 379
381 class BlockSendsForeverSendIoHandler : public TestIoHandlerBase { 380 class BlockSendsForeverSendIoHandler : public TestIoHandlerBase {
382 public: 381 public:
383 BlockSendsForeverSendIoHandler() {} 382 BlockSendsForeverSendIoHandler() {}
384 virtual void WriteImpl() override {} 383 void WriteImpl() override {}
385 384
386 private: 385 private:
387 virtual ~BlockSendsForeverSendIoHandler() {} 386 ~BlockSendsForeverSendIoHandler() override {}
388 387
389 DISALLOW_COPY_AND_ASSIGN(BlockSendsForeverSendIoHandler); 388 DISALLOW_COPY_AND_ASSIGN(BlockSendsForeverSendIoHandler);
390 }; 389 };
391 390
392 } // namespace 391 } // namespace
393 392
394 class SerialApiTest : public ApiTestBase { 393 class SerialApiTest : public ApiTestBase {
395 public: 394 public:
396 SerialApiTest() {} 395 SerialApiTest() {}
397 396
(...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after
635 634
636 TEST_F(SerialApiTest, SetPausedUnknownConnectionId) { 635 TEST_F(SerialApiTest, SetPausedUnknownConnectionId) {
637 RunTest("serial_unittest.js", "testSetPausedUnknownConnectionId"); 636 RunTest("serial_unittest.js", "testSetPausedUnknownConnectionId");
638 } 637 }
639 638
640 TEST_F(SerialApiTest, SendUnknownConnectionId) { 639 TEST_F(SerialApiTest, SendUnknownConnectionId) {
641 RunTest("serial_unittest.js", "testSendUnknownConnectionId"); 640 RunTest("serial_unittest.js", "testSendUnknownConnectionId");
642 } 641 }
643 642
644 } // namespace extensions 643 } // namespace extensions
OLDNEW
« no previous file with comments | « extensions/renderer/activity_log_converter_strategy.h ('k') | extensions/renderer/api_test_base.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698