OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 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/memory/scoped_vector.h" | 5 #include "base/memory/scoped_vector.h" |
6 #include "base/message_loop/message_loop.h" | 6 #include "base/message_loop/message_loop.h" |
7 #include "base/run_loop.h" | 7 #include "base/run_loop.h" |
8 #include "base/strings/utf_string_conversions.h" | 8 #include "base/strings/utf_string_conversions.h" |
9 #include "chromeos/dbus/dbus_thread_manager.h" | 9 #include "chromeos/dbus/dbus_thread_manager.h" |
10 #include "chromeos/dbus/fake_bluetooth_adapter_client.h" | 10 #include "chromeos/dbus/fake_bluetooth_adapter_client.h" |
(...skipping 2186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2197 // Fetching the value should give the new one. | 2197 // Fetching the value should give the new one. |
2198 uuids = devices[0]->GetUUIDs(); | 2198 uuids = devices[0]->GetUUIDs(); |
2199 ASSERT_EQ(5U, uuids.size()); | 2199 ASSERT_EQ(5U, uuids.size()); |
2200 EXPECT_EQ(uuids[0], BluetoothUUID("1800")); | 2200 EXPECT_EQ(uuids[0], BluetoothUUID("1800")); |
2201 EXPECT_EQ(uuids[1], BluetoothUUID("1801")); | 2201 EXPECT_EQ(uuids[1], BluetoothUUID("1801")); |
2202 EXPECT_EQ(uuids[2], BluetoothUUID("110c")); | 2202 EXPECT_EQ(uuids[2], BluetoothUUID("110c")); |
2203 EXPECT_EQ(uuids[3], BluetoothUUID("110e")); | 2203 EXPECT_EQ(uuids[3], BluetoothUUID("110e")); |
2204 EXPECT_EQ(uuids[4], BluetoothUUID("110a")); | 2204 EXPECT_EQ(uuids[4], BluetoothUUID("110a")); |
2205 } | 2205 } |
2206 | 2206 |
| 2207 TEST_F(BluetoothChromeOSTest, DeviceInquiryRSSIInvalidated) { |
| 2208 // Simulate invalidation of inquiry RSSI of a device, as it occurs |
| 2209 // when discovery is finished. |
| 2210 GetAdapter(); |
| 2211 |
| 2212 BluetoothAdapter::DeviceList devices = adapter_->GetDevices(); |
| 2213 ASSERT_EQ(2U, devices.size()); |
| 2214 ASSERT_EQ(FakeBluetoothDeviceClient::kPairedDeviceAddress, |
| 2215 devices[0]->GetAddress()); |
| 2216 |
| 2217 FakeBluetoothDeviceClient::Properties* properties = |
| 2218 fake_bluetooth_device_client_->GetProperties( |
| 2219 dbus::ObjectPath(FakeBluetoothDeviceClient::kPairedDevicePath)); |
| 2220 |
| 2221 // During discovery, rssi is a valid value (-75) |
| 2222 properties->rssi.ReplaceValue(-75); |
| 2223 properties->rssi.set_valid(true); |
| 2224 |
| 2225 ASSERT_EQ(-75, devices[0]->GetInquiryRSSI()); |
| 2226 |
| 2227 // Install an observer; expect the DeviceChanged method to be called when |
| 2228 // we invalidate the RSSI of the device. |
| 2229 TestBluetoothAdapterObserver observer(adapter_); |
| 2230 |
| 2231 // When discovery is over, the value should be invalidated. |
| 2232 properties->rssi.set_valid(false); |
| 2233 properties->NotifyPropertyChanged(properties->rssi.name()); |
| 2234 |
| 2235 EXPECT_EQ(1, observer.device_changed_count()); |
| 2236 EXPECT_EQ(devices[0], observer.last_device()); |
| 2237 |
| 2238 int unknown_power = BluetoothDevice::kUnknownPower; |
| 2239 EXPECT_EQ(unknown_power, devices[0]->GetInquiryRSSI()); |
| 2240 } |
| 2241 |
| 2242 TEST_F(BluetoothChromeOSTest, DeviceInquiryTxPowerInvalidated) { |
| 2243 // Simulate invalidation of inquiry TxPower of a device, as it occurs |
| 2244 // when discovery is finished. |
| 2245 GetAdapter(); |
| 2246 |
| 2247 BluetoothAdapter::DeviceList devices = adapter_->GetDevices(); |
| 2248 ASSERT_EQ(2U, devices.size()); |
| 2249 ASSERT_EQ(FakeBluetoothDeviceClient::kPairedDeviceAddress, |
| 2250 devices[0]->GetAddress()); |
| 2251 |
| 2252 FakeBluetoothDeviceClient::Properties* properties = |
| 2253 fake_bluetooth_device_client_->GetProperties( |
| 2254 dbus::ObjectPath(FakeBluetoothDeviceClient::kPairedDevicePath)); |
| 2255 |
| 2256 // During discovery, tx_power is a valid value (0) |
| 2257 properties->tx_power.ReplaceValue(0); |
| 2258 properties->tx_power.set_valid(true); |
| 2259 |
| 2260 ASSERT_EQ(0, devices[0]->GetInquiryTxPower()); |
| 2261 |
| 2262 // Install an observer; expect the DeviceChanged method to be called when |
| 2263 // we invalidate the tx_power of the device. |
| 2264 TestBluetoothAdapterObserver observer(adapter_); |
| 2265 |
| 2266 // When discovery is over, the value should be invalidated. |
| 2267 properties->tx_power.set_valid(false); |
| 2268 properties->NotifyPropertyChanged(properties->tx_power.name()); |
| 2269 |
| 2270 EXPECT_EQ(1, observer.device_changed_count()); |
| 2271 EXPECT_EQ(devices[0], observer.last_device()); |
| 2272 |
| 2273 int unknown_power = BluetoothDevice::kUnknownPower; |
| 2274 EXPECT_EQ(unknown_power, devices[0]->GetInquiryTxPower()); |
| 2275 } |
| 2276 |
2207 TEST_F(BluetoothChromeOSTest, ForgetDevice) { | 2277 TEST_F(BluetoothChromeOSTest, ForgetDevice) { |
2208 GetAdapter(); | 2278 GetAdapter(); |
2209 | 2279 |
2210 BluetoothAdapter::DeviceList devices = adapter_->GetDevices(); | 2280 BluetoothAdapter::DeviceList devices = adapter_->GetDevices(); |
2211 ASSERT_EQ(2U, devices.size()); | 2281 ASSERT_EQ(2U, devices.size()); |
2212 ASSERT_EQ(FakeBluetoothDeviceClient::kPairedDeviceAddress, | 2282 ASSERT_EQ(FakeBluetoothDeviceClient::kPairedDeviceAddress, |
2213 devices[0]->GetAddress()); | 2283 devices[0]->GetAddress()); |
2214 | 2284 |
2215 std::string address = devices[0]->GetAddress(); | 2285 std::string address = devices[0]->GetAddress(); |
2216 | 2286 |
(...skipping 1842 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4059 adapter_->Shutdown(); | 4129 adapter_->Shutdown(); |
4060 adapter_chrome_os->OnStopDiscoveryError(GetErrorCallback(), "", ""); | 4130 adapter_chrome_os->OnStopDiscoveryError(GetErrorCallback(), "", ""); |
4061 | 4131 |
4062 // 1 error reported to RemoveDiscoverySession because of OnStopDiscoveryError, | 4132 // 1 error reported to RemoveDiscoverySession because of OnStopDiscoveryError, |
4063 // and kNumberOfDiscoverySessions errors queued with AddDiscoverySession. | 4133 // and kNumberOfDiscoverySessions errors queued with AddDiscoverySession. |
4064 EXPECT_EQ(0, callback_count_); | 4134 EXPECT_EQ(0, callback_count_); |
4065 EXPECT_EQ(1 + kNumberOfDiscoverySessions, error_callback_count_); | 4135 EXPECT_EQ(1 + kNumberOfDiscoverySessions, error_callback_count_); |
4066 } | 4136 } |
4067 | 4137 |
4068 } // namespace chromeos | 4138 } // namespace chromeos |
OLD | NEW |