OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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 "base/message_loop.h" | 5 #include "base/message_loop.h" |
6 #include "chromeos/dbus/fake_bluetooth_device_client.h" | 6 #include "chromeos/dbus/fake_bluetooth_device_client.h" |
7 #include "chromeos/dbus/fake_bluetooth_profile_manager_client.h" | 7 #include "chromeos/dbus/fake_bluetooth_profile_manager_client.h" |
8 #include "chromeos/dbus/fake_bluetooth_profile_service_provider.h" | 8 #include "chromeos/dbus/fake_bluetooth_profile_service_provider.h" |
9 #include "chromeos/dbus/mock_dbus_thread_manager_without_gmock.h" | 9 #include "chromeos/dbus/mock_dbus_thread_manager_without_gmock.h" |
10 #include "device/bluetooth/bluetooth_adapter.h" | 10 #include "device/bluetooth/bluetooth_adapter.h" |
(...skipping 30 matching lines...) Expand all Loading... |
41 mock_dbus_thread_manager_ = | 41 mock_dbus_thread_manager_ = |
42 new MockDBusThreadManagerWithoutGMock(); | 42 new MockDBusThreadManagerWithoutGMock(); |
43 DBusThreadManager::InitializeForTesting(mock_dbus_thread_manager_); | 43 DBusThreadManager::InitializeForTesting(mock_dbus_thread_manager_); |
44 | 44 |
45 fake_bluetooth_profile_manager_client_ = | 45 fake_bluetooth_profile_manager_client_ = |
46 mock_dbus_thread_manager_->fake_bluetooth_profile_manager_client(); | 46 mock_dbus_thread_manager_->fake_bluetooth_profile_manager_client(); |
47 | 47 |
48 device::BluetoothAdapterFactory::GetAdapter( | 48 device::BluetoothAdapterFactory::GetAdapter( |
49 base::Bind(&BluetoothProfileChromeOSTest::AdapterCallback, | 49 base::Bind(&BluetoothProfileChromeOSTest::AdapterCallback, |
50 base::Unretained(this))); | 50 base::Unretained(this))); |
51 ASSERT_TRUE(adapter_ != NULL); | 51 ASSERT_TRUE(adapter_.get() != NULL); |
52 ASSERT_TRUE(adapter_->IsInitialized()); | 52 ASSERT_TRUE(adapter_->IsInitialized()); |
53 ASSERT_TRUE(adapter_->IsPresent()); | 53 ASSERT_TRUE(adapter_->IsPresent()); |
54 | 54 |
55 adapter_->SetPowered( | 55 adapter_->SetPowered( |
56 true, | 56 true, |
57 base::Bind(&base::DoNothing), | 57 base::Bind(&base::DoNothing), |
58 base::Bind(&base::DoNothing)); | 58 base::Bind(&base::DoNothing)); |
59 ASSERT_TRUE(adapter_->IsPowered()); | 59 ASSERT_TRUE(adapter_->IsPowered()); |
60 } | 60 } |
61 | 61 |
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
164 bool success; | 164 bool success; |
165 scoped_refptr<net::GrowableIOBuffer> read_buffer; | 165 scoped_refptr<net::GrowableIOBuffer> read_buffer; |
166 | 166 |
167 scoped_refptr<net::StringIOBuffer> base_buffer( | 167 scoped_refptr<net::StringIOBuffer> base_buffer( |
168 new net::StringIOBuffer("test")); | 168 new net::StringIOBuffer("test")); |
169 scoped_refptr<net::DrainableIOBuffer> write_buffer; | 169 scoped_refptr<net::DrainableIOBuffer> write_buffer; |
170 | 170 |
171 // Read data from the socket; since no data should be waiting, this should | 171 // Read data from the socket; since no data should be waiting, this should |
172 // return success but no data. | 172 // return success but no data. |
173 read_buffer = new net::GrowableIOBuffer; | 173 read_buffer = new net::GrowableIOBuffer; |
174 success = socket->Receive(read_buffer); | 174 success = socket->Receive(read_buffer.get()); |
175 EXPECT_TRUE(success); | 175 EXPECT_TRUE(success); |
176 EXPECT_EQ(0, read_buffer->capacity()); | 176 EXPECT_EQ(0, read_buffer->capacity()); |
177 EXPECT_EQ(0, read_buffer->offset()); | 177 EXPECT_EQ(0, read_buffer->offset()); |
178 EXPECT_EQ("", socket->GetLastErrorMessage()); | 178 EXPECT_EQ("", socket->GetLastErrorMessage()); |
179 | 179 |
180 // Write data to the socket; the data should be consumed and no bytes should | 180 // Write data to the socket; the data should be consumed and no bytes should |
181 // be remaining. | 181 // be remaining. |
182 write_buffer = new net::DrainableIOBuffer(base_buffer, base_buffer->size()); | 182 write_buffer = |
183 success = socket->Send(write_buffer); | 183 new net::DrainableIOBuffer(base_buffer.get(), base_buffer->size()); |
| 184 success = socket->Send(write_buffer.get()); |
184 EXPECT_TRUE(success); | 185 EXPECT_TRUE(success); |
185 EXPECT_EQ(base_buffer->size(), write_buffer->BytesConsumed()); | 186 EXPECT_EQ(base_buffer->size(), write_buffer->BytesConsumed()); |
186 EXPECT_EQ(0, write_buffer->BytesRemaining()); | 187 EXPECT_EQ(0, write_buffer->BytesRemaining()); |
187 EXPECT_EQ("", socket->GetLastErrorMessage()); | 188 EXPECT_EQ("", socket->GetLastErrorMessage()); |
188 | 189 |
189 // Read data from the socket; this should match the data we sent since the | 190 // Read data from the socket; this should match the data we sent since the |
190 // server just echoes us. We have to spin here until there is actually data | 191 // server just echoes us. We have to spin here until there is actually data |
191 // to read. | 192 // to read. |
192 read_buffer = new net::GrowableIOBuffer; | 193 read_buffer = new net::GrowableIOBuffer; |
193 do { | 194 do { |
194 success = socket->Receive(read_buffer); | 195 success = socket->Receive(read_buffer.get()); |
195 } while (success && read_buffer->offset() == 0); | 196 } while (success && read_buffer->offset() == 0); |
196 EXPECT_TRUE(success); | 197 EXPECT_TRUE(success); |
197 EXPECT_NE(0, read_buffer->capacity()); | 198 EXPECT_NE(0, read_buffer->capacity()); |
198 EXPECT_EQ(base_buffer->size(), read_buffer->offset()); | 199 EXPECT_EQ(base_buffer->size(), read_buffer->offset()); |
199 EXPECT_EQ("", socket->GetLastErrorMessage()); | 200 EXPECT_EQ("", socket->GetLastErrorMessage()); |
200 | 201 |
201 std::string data = std::string(read_buffer->StartOfBuffer(), | 202 std::string data = std::string(read_buffer->StartOfBuffer(), |
202 read_buffer->offset()); | 203 read_buffer->offset()); |
203 EXPECT_EQ("test", data); | 204 EXPECT_EQ("test", data); |
204 | 205 |
205 // Write data to the socket; since the socket is closed, this should return | 206 // Write data to the socket; since the socket is closed, this should return |
206 // an error without writing the data and "Disconnected" as the message. | 207 // an error without writing the data and "Disconnected" as the message. |
207 write_buffer = new net::DrainableIOBuffer(base_buffer, base_buffer->size()); | 208 write_buffer = |
208 success = socket->Send(write_buffer); | 209 new net::DrainableIOBuffer(base_buffer.get(), base_buffer->size()); |
| 210 success = socket->Send(write_buffer.get()); |
209 EXPECT_FALSE(success); | 211 EXPECT_FALSE(success); |
210 EXPECT_EQ(0, write_buffer->BytesConsumed()); | 212 EXPECT_EQ(0, write_buffer->BytesConsumed()); |
211 EXPECT_EQ(base_buffer->size(), write_buffer->BytesRemaining()); | 213 EXPECT_EQ(base_buffer->size(), write_buffer->BytesRemaining()); |
212 EXPECT_EQ("Disconnected", socket->GetLastErrorMessage()); | 214 EXPECT_EQ("Disconnected", socket->GetLastErrorMessage()); |
213 | 215 |
214 // Read data from the socket; since the socket is closed, this should return | 216 // Read data from the socket; since the socket is closed, this should return |
215 // an error with "Disconnected" as the last message. | 217 // an error with "Disconnected" as the last message. |
216 read_buffer = new net::GrowableIOBuffer; | 218 read_buffer = new net::GrowableIOBuffer; |
217 success = socket->Receive(read_buffer); | 219 success = socket->Receive(read_buffer.get()); |
218 EXPECT_FALSE(success); | 220 EXPECT_FALSE(success); |
219 EXPECT_EQ(0, read_buffer->capacity()); | 221 EXPECT_EQ(0, read_buffer->capacity()); |
220 EXPECT_EQ(0, read_buffer->offset()); | 222 EXPECT_EQ(0, read_buffer->offset()); |
221 EXPECT_EQ("Disconnected", socket->GetLastErrorMessage()); | 223 EXPECT_EQ("Disconnected", socket->GetLastErrorMessage()); |
222 | 224 |
223 // Close our end of the socket. | 225 // Close our end of the socket. |
224 socket = NULL; | 226 socket = NULL; |
225 | 227 |
226 // Unregister the profile, make sure it's no longer registered. | 228 // Unregister the profile, make sure it's no longer registered. |
227 last_profile_->Unregister(); | 229 last_profile_->Unregister(); |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
288 bool success; | 290 bool success; |
289 scoped_refptr<net::GrowableIOBuffer> read_buffer; | 291 scoped_refptr<net::GrowableIOBuffer> read_buffer; |
290 | 292 |
291 scoped_refptr<net::StringIOBuffer> base_buffer( | 293 scoped_refptr<net::StringIOBuffer> base_buffer( |
292 new net::StringIOBuffer("test")); | 294 new net::StringIOBuffer("test")); |
293 scoped_refptr<net::DrainableIOBuffer> write_buffer; | 295 scoped_refptr<net::DrainableIOBuffer> write_buffer; |
294 | 296 |
295 // Read data from the socket; since no data should be waiting, this should | 297 // Read data from the socket; since no data should be waiting, this should |
296 // return success but no data. | 298 // return success but no data. |
297 read_buffer = new net::GrowableIOBuffer; | 299 read_buffer = new net::GrowableIOBuffer; |
298 success = socket->Receive(read_buffer); | 300 success = socket->Receive(read_buffer.get()); |
299 EXPECT_TRUE(success); | 301 EXPECT_TRUE(success); |
300 EXPECT_EQ(0, read_buffer->offset()); | 302 EXPECT_EQ(0, read_buffer->offset()); |
301 EXPECT_EQ("", socket->GetLastErrorMessage()); | 303 EXPECT_EQ("", socket->GetLastErrorMessage()); |
302 | 304 |
303 // Write data to the socket; the data should be consumed and no bytes should | 305 // Write data to the socket; the data should be consumed and no bytes should |
304 // be remaining. | 306 // be remaining. |
305 write_buffer = new net::DrainableIOBuffer(base_buffer, base_buffer->size()); | 307 write_buffer = |
306 success = socket->Send(write_buffer); | 308 new net::DrainableIOBuffer(base_buffer.get(), base_buffer->size()); |
| 309 success = socket->Send(write_buffer.get()); |
307 EXPECT_TRUE(success); | 310 EXPECT_TRUE(success); |
308 EXPECT_EQ(base_buffer->size(), write_buffer->BytesConsumed()); | 311 EXPECT_EQ(base_buffer->size(), write_buffer->BytesConsumed()); |
309 EXPECT_EQ(0, write_buffer->BytesRemaining()); | 312 EXPECT_EQ(0, write_buffer->BytesRemaining()); |
310 EXPECT_EQ("", socket->GetLastErrorMessage()); | 313 EXPECT_EQ("", socket->GetLastErrorMessage()); |
311 | 314 |
312 // Read data from the socket; this should match the data we sent since the | 315 // Read data from the socket; this should match the data we sent since the |
313 // server just echoes us. We have to spin here until there is actually data | 316 // server just echoes us. We have to spin here until there is actually data |
314 // to read. | 317 // to read. |
315 read_buffer = new net::GrowableIOBuffer; | 318 read_buffer = new net::GrowableIOBuffer; |
316 do { | 319 do { |
317 success = socket->Receive(read_buffer); | 320 success = socket->Receive(read_buffer.get()); |
318 } while (success && read_buffer->offset() == 0); | 321 } while (success && read_buffer->offset() == 0); |
319 EXPECT_TRUE(success); | 322 EXPECT_TRUE(success); |
320 EXPECT_NE(0, read_buffer->capacity()); | 323 EXPECT_NE(0, read_buffer->capacity()); |
321 EXPECT_EQ(base_buffer->size(), read_buffer->offset()); | 324 EXPECT_EQ(base_buffer->size(), read_buffer->offset()); |
322 EXPECT_EQ("", socket->GetLastErrorMessage()); | 325 EXPECT_EQ("", socket->GetLastErrorMessage()); |
323 | 326 |
324 std::string data = std::string(read_buffer->StartOfBuffer(), | 327 std::string data = std::string(read_buffer->StartOfBuffer(), |
325 read_buffer->offset()); | 328 read_buffer->offset()); |
326 EXPECT_EQ("test", data); | 329 EXPECT_EQ("test", data); |
327 | 330 |
328 // Write data to the socket; since the socket is closed, this should return | 331 // Write data to the socket; since the socket is closed, this should return |
329 // an error without writing the data and "Disconnected" as the message. | 332 // an error without writing the data and "Disconnected" as the message. |
330 write_buffer = new net::DrainableIOBuffer(base_buffer, base_buffer->size()); | 333 write_buffer = |
331 success = socket->Send(write_buffer); | 334 new net::DrainableIOBuffer(base_buffer.get(), base_buffer->size()); |
| 335 success = socket->Send(write_buffer.get()); |
332 EXPECT_FALSE(success); | 336 EXPECT_FALSE(success); |
333 EXPECT_EQ(0, write_buffer->BytesConsumed()); | 337 EXPECT_EQ(0, write_buffer->BytesConsumed()); |
334 EXPECT_EQ(base_buffer->size(), write_buffer->BytesRemaining()); | 338 EXPECT_EQ(base_buffer->size(), write_buffer->BytesRemaining()); |
335 EXPECT_EQ("Disconnected", socket->GetLastErrorMessage()); | 339 EXPECT_EQ("Disconnected", socket->GetLastErrorMessage()); |
336 | 340 |
337 // Read data from the socket; since the socket is closed, this should return | 341 // Read data from the socket; since the socket is closed, this should return |
338 // an error with "Disconnected" as the last message. | 342 // an error with "Disconnected" as the last message. |
339 read_buffer = new net::GrowableIOBuffer; | 343 read_buffer = new net::GrowableIOBuffer; |
340 success = socket->Receive(read_buffer); | 344 success = socket->Receive(read_buffer.get()); |
341 EXPECT_FALSE(success); | 345 EXPECT_FALSE(success); |
342 EXPECT_EQ(0, read_buffer->offset()); | 346 EXPECT_EQ(0, read_buffer->offset()); |
343 EXPECT_EQ("Disconnected", socket->GetLastErrorMessage()); | 347 EXPECT_EQ("Disconnected", socket->GetLastErrorMessage()); |
344 | 348 |
345 // Close our end of the socket. | 349 // Close our end of the socket. |
346 socket = NULL; | 350 socket = NULL; |
347 | 351 |
348 // Unregister the profile, make sure it's no longer registered. | 352 // Unregister the profile, make sure it's no longer registered. |
349 last_profile_->Unregister(); | 353 last_profile_->Unregister(); |
350 | 354 |
351 profile_service_provider = | 355 profile_service_provider = |
352 fake_bluetooth_profile_manager_client_->GetProfileServiceProvider( | 356 fake_bluetooth_profile_manager_client_->GetProfileServiceProvider( |
353 FakeBluetoothProfileManagerClient::kRfcommUuid); | 357 FakeBluetoothProfileManagerClient::kRfcommUuid); |
354 EXPECT_TRUE(profile_service_provider == NULL); | 358 EXPECT_TRUE(profile_service_provider == NULL); |
355 } | 359 } |
356 | 360 |
357 } // namespace chromeos | 361 } // namespace chromeos |
OLD | NEW |