OLD | NEW |
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_connection.h" | 5 #include "device/serial/serial_connection.h" |
6 | 6 |
7 #include <stdint.h> | 7 #include <stdint.h> |
8 | 8 |
9 #include <memory> | 9 #include <memory> |
10 #include <string> | 10 #include <string> |
11 #include <utility> | 11 #include <utility> |
12 | 12 |
13 #include "base/bind.h" | 13 #include "base/bind.h" |
14 #include "base/macros.h" | 14 #include "base/macros.h" |
15 #include "base/message_loop/message_loop.h" | 15 #include "base/message_loop/message_loop.h" |
16 #include "base/run_loop.h" | 16 #include "base/run_loop.h" |
17 #include "base/strings/string_piece.h" | 17 #include "base/strings/string_piece.h" |
18 #include "device/serial/data_receiver.h" | 18 #include "device/serial/data_receiver.h" |
19 #include "device/serial/data_sender.h" | 19 #include "device/serial/data_sender.h" |
20 #include "device/serial/data_stream.mojom.h" | 20 #include "device/serial/data_stream.mojom.h" |
21 #include "device/serial/serial.mojom.h" | 21 #include "device/serial/serial.mojom.h" |
22 #include "device/serial/serial_service_impl.h" | 22 #include "device/serial/serial_service_impl.h" |
23 #include "device/serial/test_serial_io_handler.h" | 23 #include "device/serial/test_serial_io_handler.h" |
24 #include "mojo/public/cpp/bindings/interface_ptr.h" | 24 #include "mojo/public/cpp/bindings/interface_ptr.h" |
25 #include "mojo/public/cpp/bindings/interface_request.h" | 25 #include "mojo/public/cpp/bindings/interface_request.h" |
| 26 #include "mojo/public/cpp/bindings/strong_binding.h" |
26 #include "testing/gtest/include/gtest/gtest.h" | 27 #include "testing/gtest/include/gtest/gtest.h" |
27 | 28 |
28 namespace device { | 29 namespace device { |
29 namespace { | 30 namespace { |
30 | 31 |
31 class FakeSerialDeviceEnumerator : public SerialDeviceEnumerator { | 32 class FakeSerialDeviceEnumerator : public SerialDeviceEnumerator { |
32 mojo::Array<serial::DeviceInfoPtr> GetDevices() override { | 33 mojo::Array<serial::DeviceInfoPtr> GetDevices() override { |
33 mojo::Array<serial::DeviceInfoPtr> devices(1); | 34 mojo::Array<serial::DeviceInfoPtr> devices(1); |
34 devices[0] = serial::DeviceInfo::New(); | 35 devices[0] = serial::DeviceInfo::New(); |
35 devices[0]->path = "device"; | 36 devices[0]->path = "device"; |
(...skipping 27 matching lines...) Expand all Loading... |
63 : connected_(false), | 64 : connected_(false), |
64 success_(false), | 65 success_(false), |
65 bytes_sent_(0), | 66 bytes_sent_(0), |
66 send_error_(serial::SendError::NONE), | 67 send_error_(serial::SendError::NONE), |
67 receive_error_(serial::ReceiveError::NONE), | 68 receive_error_(serial::ReceiveError::NONE), |
68 expected_event_(EVENT_NONE) {} | 69 expected_event_(EVENT_NONE) {} |
69 | 70 |
70 void SetUp() override { | 71 void SetUp() override { |
71 message_loop_.reset(new base::MessageLoop); | 72 message_loop_.reset(new base::MessageLoop); |
72 mojo::InterfacePtr<serial::SerialService> service; | 73 mojo::InterfacePtr<serial::SerialService> service; |
73 new SerialServiceImpl( | 74 mojo::MakeStrongBinding( |
74 new SerialConnectionFactory( | 75 base::MakeUnique<SerialServiceImpl>( |
75 base::Bind(&SerialConnectionTest::CreateIoHandler, | 76 new SerialConnectionFactory( |
76 base::Unretained(this)), | 77 base::Bind(&SerialConnectionTest::CreateIoHandler, |
77 base::ThreadTaskRunnerHandle::Get()), | 78 base::Unretained(this)), |
78 std::unique_ptr<SerialDeviceEnumerator>(new FakeSerialDeviceEnumerator), | 79 base::ThreadTaskRunnerHandle::Get()), |
| 80 base::MakeUnique<FakeSerialDeviceEnumerator>()), |
79 mojo::GetProxy(&service)); | 81 mojo::GetProxy(&service)); |
80 service.set_connection_error_handler(base::Bind( | 82 service.set_connection_error_handler(base::Bind( |
81 &SerialConnectionTest::OnConnectionError, base::Unretained(this))); | 83 &SerialConnectionTest::OnConnectionError, base::Unretained(this))); |
82 mojo::InterfacePtr<serial::DataSink> sink; | 84 mojo::InterfacePtr<serial::DataSink> sink; |
83 mojo::InterfacePtr<serial::DataSource> source; | 85 mojo::InterfacePtr<serial::DataSource> source; |
84 mojo::InterfacePtr<serial::DataSourceClient> source_client; | 86 mojo::InterfacePtr<serial::DataSourceClient> source_client; |
85 mojo::InterfaceRequest<serial::DataSourceClient> source_client_request = | 87 mojo::InterfaceRequest<serial::DataSourceClient> source_client_request = |
86 mojo::GetProxy(&source_client); | 88 mojo::GetProxy(&source_client); |
87 service->Connect("device", serial::ConnectionOptions::New(), | 89 service->Connect("device", serial::ConnectionOptions::New(), |
88 mojo::GetProxy(&connection_), mojo::GetProxy(&sink), | 90 mojo::GetProxy(&connection_), mojo::GetProxy(&sink), |
(...skipping 243 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
332 WaitForEvent(EVENT_DATA_SENT); | 334 WaitForEvent(EVENT_DATA_SENT); |
333 EXPECT_EQ(serial::SendError::NONE, send_error_); | 335 EXPECT_EQ(serial::SendError::NONE, send_error_); |
334 EXPECT_EQ(4, bytes_sent_); | 336 EXPECT_EQ(4, bytes_sent_); |
335 ASSERT_NO_FATAL_FAILURE(Receive()); | 337 ASSERT_NO_FATAL_FAILURE(Receive()); |
336 WaitForEvent(EVENT_DATA_RECEIVED); | 338 WaitForEvent(EVENT_DATA_RECEIVED); |
337 EXPECT_EQ("data", data_received_); | 339 EXPECT_EQ("data", data_received_); |
338 EXPECT_EQ(serial::ReceiveError::NONE, receive_error_); | 340 EXPECT_EQ(serial::ReceiveError::NONE, receive_error_); |
339 } | 341 } |
340 | 342 |
341 } // namespace device | 343 } // namespace device |
OLD | NEW |