| 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 <stddef.h> | 5 #include <stddef.h> |
| 6 #include <stdint.h> | 6 #include <stdint.h> |
| 7 | 7 |
| 8 #include <memory> | 8 #include <memory> |
| 9 #include <utility> | 9 #include <utility> |
| 10 | 10 |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 49 // connection info to the bound argument. | 49 // connection info to the bound argument. |
| 50 void SaveConnectionInfo(BluetoothDevice::ConnectionInfo* out, | 50 void SaveConnectionInfo(BluetoothDevice::ConnectionInfo* out, |
| 51 const BluetoothDevice::ConnectionInfo& conn_info) { | 51 const BluetoothDevice::ConnectionInfo& conn_info) { |
| 52 *out = conn_info; | 52 *out = conn_info; |
| 53 } | 53 } |
| 54 | 54 |
| 55 // Find |address| in |devices|, if found returns the index otherwise returns -1. | 55 // Find |address| in |devices|, if found returns the index otherwise returns -1. |
| 56 int GetDeviceIndexByAddress(const BluetoothAdapter::DeviceList& devices, | 56 int GetDeviceIndexByAddress(const BluetoothAdapter::DeviceList& devices, |
| 57 const char* address) { | 57 const char* address) { |
| 58 int idx = -1; | 58 int idx = -1; |
| 59 for (auto& device : devices) { | 59 for (auto* device : devices) { |
| 60 ++idx; | 60 ++idx; |
| 61 if (device->GetAddress().compare(address) == 0) | 61 if (device->GetAddress().compare(address) == 0) |
| 62 return idx; | 62 return idx; |
| 63 } | 63 } |
| 64 return -1; | 64 return -1; |
| 65 } | 65 } |
| 66 | 66 |
| 67 class FakeBluetoothProfileServiceProviderDelegate | 67 class FakeBluetoothProfileServiceProviderDelegate |
| 68 : public bluez::BluetoothProfileServiceProvider::Delegate { | 68 : public bluez::BluetoothProfileServiceProvider::Delegate { |
| 69 public: | 69 public: |
| (...skipping 1390 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1460 EXPECT_EQ(2, callback_count_); | 1460 EXPECT_EQ(2, callback_count_); |
| 1461 EXPECT_EQ(0, error_callback_count_); | 1461 EXPECT_EQ(0, error_callback_count_); |
| 1462 callback_count_ = 0; | 1462 callback_count_ = 0; |
| 1463 | 1463 |
| 1464 ASSERT_TRUE(adapter_->IsPowered()); | 1464 ASSERT_TRUE(adapter_->IsPowered()); |
| 1465 ASSERT_TRUE(adapter_->IsDiscovering()); | 1465 ASSERT_TRUE(adapter_->IsDiscovering()); |
| 1466 ASSERT_EQ((size_t)1, discovery_sessions_.size()); | 1466 ASSERT_EQ((size_t)1, discovery_sessions_.size()); |
| 1467 ASSERT_TRUE(discovery_sessions_[0]->IsActive()); | 1467 ASSERT_TRUE(discovery_sessions_[0]->IsActive()); |
| 1468 ASSERT_TRUE(df->Equals(*discovery_sessions_[0]->GetDiscoveryFilter())); | 1468 ASSERT_TRUE(df->Equals(*discovery_sessions_[0]->GetDiscoveryFilter())); |
| 1469 | 1469 |
| 1470 auto filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); | 1470 auto* filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); |
| 1471 EXPECT_NE(nullptr, filter); | 1471 EXPECT_NE(nullptr, filter); |
| 1472 EXPECT_EQ("le", *filter->transport); | 1472 EXPECT_EQ("le", *filter->transport); |
| 1473 EXPECT_EQ(-60, *filter->rssi); | 1473 EXPECT_EQ(-60, *filter->rssi); |
| 1474 EXPECT_EQ(nullptr, filter->pathloss.get()); | 1474 EXPECT_EQ(nullptr, filter->pathloss.get()); |
| 1475 std::vector<std::string> uuids = *filter->uuids; | 1475 std::vector<std::string> uuids = *filter->uuids; |
| 1476 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1000")); | 1476 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1000")); |
| 1477 | 1477 |
| 1478 discovery_sessions_[0]->Stop( | 1478 discovery_sessions_[0]->Stop( |
| 1479 base::Bind(&BluetoothBlueZTest::Callback, base::Unretained(this)), | 1479 base::Bind(&BluetoothBlueZTest::Callback, base::Unretained(this)), |
| 1480 base::Bind(&BluetoothBlueZTest::ErrorCallback, base::Unretained(this))); | 1480 base::Bind(&BluetoothBlueZTest::ErrorCallback, base::Unretained(this))); |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1524 | 1524 |
| 1525 message_loop_.Run(); | 1525 message_loop_.Run(); |
| 1526 | 1526 |
| 1527 EXPECT_EQ(1, error_callback_count_); | 1527 EXPECT_EQ(1, error_callback_count_); |
| 1528 error_callback_count_ = 0; | 1528 error_callback_count_ = 0; |
| 1529 | 1529 |
| 1530 ASSERT_TRUE(adapter_->IsPowered()); | 1530 ASSERT_TRUE(adapter_->IsPowered()); |
| 1531 ASSERT_FALSE(adapter_->IsDiscovering()); | 1531 ASSERT_FALSE(adapter_->IsDiscovering()); |
| 1532 ASSERT_EQ((size_t)0, discovery_sessions_.size()); | 1532 ASSERT_EQ((size_t)0, discovery_sessions_.size()); |
| 1533 | 1533 |
| 1534 auto filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); | 1534 auto* filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); |
| 1535 EXPECT_EQ(nullptr, filter); | 1535 EXPECT_EQ(nullptr, filter); |
| 1536 } | 1536 } |
| 1537 | 1537 |
| 1538 // This test queues two requests to StartDiscovery with pre set filter. This | 1538 // This test queues two requests to StartDiscovery with pre set filter. This |
| 1539 // should result in SetDiscoveryFilter, then StartDiscovery, and SetDiscovery | 1539 // should result in SetDiscoveryFilter, then StartDiscovery, and SetDiscovery |
| 1540 // DBus calls | 1540 // DBus calls |
| 1541 TEST_F(BluetoothBlueZTest, QueuedSetDiscoveryFilterBeforeStartDiscovery) { | 1541 TEST_F(BluetoothBlueZTest, QueuedSetDiscoveryFilterBeforeStartDiscovery) { |
| 1542 // Test a simulated discovery session. | 1542 // Test a simulated discovery session. |
| 1543 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); | 1543 fake_bluetooth_device_client_->SetSimulationIntervalMs(10); |
| 1544 GetAdapter(); | 1544 GetAdapter(); |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1588 callback_count_ = 0; | 1588 callback_count_ = 0; |
| 1589 | 1589 |
| 1590 ASSERT_TRUE(adapter_->IsPowered()); | 1590 ASSERT_TRUE(adapter_->IsPowered()); |
| 1591 ASSERT_TRUE(adapter_->IsDiscovering()); | 1591 ASSERT_TRUE(adapter_->IsDiscovering()); |
| 1592 ASSERT_EQ((size_t)2, discovery_sessions_.size()); | 1592 ASSERT_EQ((size_t)2, discovery_sessions_.size()); |
| 1593 ASSERT_TRUE(discovery_sessions_[0]->IsActive()); | 1593 ASSERT_TRUE(discovery_sessions_[0]->IsActive()); |
| 1594 ASSERT_TRUE(df->Equals(*discovery_sessions_[0]->GetDiscoveryFilter())); | 1594 ASSERT_TRUE(df->Equals(*discovery_sessions_[0]->GetDiscoveryFilter())); |
| 1595 ASSERT_TRUE(discovery_sessions_[1]->IsActive()); | 1595 ASSERT_TRUE(discovery_sessions_[1]->IsActive()); |
| 1596 ASSERT_TRUE(df2->Equals(*discovery_sessions_[1]->GetDiscoveryFilter())); | 1596 ASSERT_TRUE(df2->Equals(*discovery_sessions_[1]->GetDiscoveryFilter())); |
| 1597 | 1597 |
| 1598 auto filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); | 1598 auto* filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); |
| 1599 EXPECT_NE(nullptr, filter); | 1599 EXPECT_NE(nullptr, filter); |
| 1600 EXPECT_EQ("auto", *filter->transport); | 1600 EXPECT_EQ("auto", *filter->transport); |
| 1601 EXPECT_EQ(-65, *filter->rssi); | 1601 EXPECT_EQ(-65, *filter->rssi); |
| 1602 EXPECT_EQ(nullptr, filter->pathloss.get()); | 1602 EXPECT_EQ(nullptr, filter->pathloss.get()); |
| 1603 auto uuids = *filter->uuids; | 1603 auto uuids = *filter->uuids; |
| 1604 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1000")); | 1604 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1000")); |
| 1605 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1002")); | 1605 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1002")); |
| 1606 | 1606 |
| 1607 discovery_sessions_[0]->Stop( | 1607 discovery_sessions_[0]->Stop( |
| 1608 base::Bind(&BluetoothBlueZTest::Callback, base::Unretained(this)), | 1608 base::Bind(&BluetoothBlueZTest::Callback, base::Unretained(this)), |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1692 // Second request should succeed | 1692 // Second request should succeed |
| 1693 EXPECT_EQ(1, callback_count_); | 1693 EXPECT_EQ(1, callback_count_); |
| 1694 EXPECT_EQ(0, error_callback_count_); | 1694 EXPECT_EQ(0, error_callback_count_); |
| 1695 callback_count_ = 0; | 1695 callback_count_ = 0; |
| 1696 | 1696 |
| 1697 ASSERT_TRUE(adapter_->IsDiscovering()); | 1697 ASSERT_TRUE(adapter_->IsDiscovering()); |
| 1698 ASSERT_EQ((size_t)1, discovery_sessions_.size()); | 1698 ASSERT_EQ((size_t)1, discovery_sessions_.size()); |
| 1699 ASSERT_TRUE(discovery_sessions_[0]->IsActive()); | 1699 ASSERT_TRUE(discovery_sessions_[0]->IsActive()); |
| 1700 ASSERT_TRUE(df2->Equals(*discovery_sessions_[0]->GetDiscoveryFilter())); | 1700 ASSERT_TRUE(df2->Equals(*discovery_sessions_[0]->GetDiscoveryFilter())); |
| 1701 | 1701 |
| 1702 auto filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); | 1702 auto* filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); |
| 1703 EXPECT_NE(nullptr, filter); | 1703 EXPECT_NE(nullptr, filter); |
| 1704 EXPECT_EQ("bredr", *filter->transport); | 1704 EXPECT_EQ("bredr", *filter->transport); |
| 1705 EXPECT_EQ(-65, *filter->rssi); | 1705 EXPECT_EQ(-65, *filter->rssi); |
| 1706 EXPECT_EQ(nullptr, filter->pathloss.get()); | 1706 EXPECT_EQ(nullptr, filter->pathloss.get()); |
| 1707 auto uuids = *filter->uuids; | 1707 auto uuids = *filter->uuids; |
| 1708 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1002")); | 1708 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1002")); |
| 1709 | 1709 |
| 1710 discovery_sessions_[0]->Stop( | 1710 discovery_sessions_[0]->Stop( |
| 1711 base::Bind(&BluetoothBlueZTest::Callback, base::Unretained(this)), | 1711 base::Bind(&BluetoothBlueZTest::Callback, base::Unretained(this)), |
| 1712 base::Bind(&BluetoothBlueZTest::ErrorCallback, base::Unretained(this))); | 1712 base::Bind(&BluetoothBlueZTest::ErrorCallback, base::Unretained(this))); |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1749 ASSERT_TRUE(adapter_->IsDiscovering()); | 1749 ASSERT_TRUE(adapter_->IsDiscovering()); |
| 1750 ASSERT_EQ((size_t)1, discovery_sessions_.size()); | 1750 ASSERT_EQ((size_t)1, discovery_sessions_.size()); |
| 1751 ASSERT_TRUE(discovery_sessions_[0]->IsActive()); | 1751 ASSERT_TRUE(discovery_sessions_[0]->IsActive()); |
| 1752 EXPECT_EQ(1, observer.discovering_changed_count()); | 1752 EXPECT_EQ(1, observer.discovering_changed_count()); |
| 1753 observer.Reset(); | 1753 observer.Reset(); |
| 1754 | 1754 |
| 1755 auto null_instance = std::unique_ptr<BluetoothDiscoveryFilter>(); | 1755 auto null_instance = std::unique_ptr<BluetoothDiscoveryFilter>(); |
| 1756 null_instance.reset(); | 1756 null_instance.reset(); |
| 1757 ASSERT_EQ(discovery_sessions_[0]->GetDiscoveryFilter(), null_instance.get()); | 1757 ASSERT_EQ(discovery_sessions_[0]->GetDiscoveryFilter(), null_instance.get()); |
| 1758 | 1758 |
| 1759 auto filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); | 1759 auto* filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); |
| 1760 EXPECT_EQ(nullptr, filter); | 1760 EXPECT_EQ(nullptr, filter); |
| 1761 | 1761 |
| 1762 BluetoothDiscoveryFilter* df = | 1762 BluetoothDiscoveryFilter* df = |
| 1763 new BluetoothDiscoveryFilter(device::BLUETOOTH_TRANSPORT_LE); | 1763 new BluetoothDiscoveryFilter(device::BLUETOOTH_TRANSPORT_LE); |
| 1764 df->SetRSSI(-60); | 1764 df->SetRSSI(-60); |
| 1765 df->AddUUID(BluetoothUUID("1000")); | 1765 df->AddUUID(BluetoothUUID("1000")); |
| 1766 std::unique_ptr<BluetoothDiscoveryFilter> discovery_filter(df); | 1766 std::unique_ptr<BluetoothDiscoveryFilter> discovery_filter(df); |
| 1767 | 1767 |
| 1768 discovery_sessions_[0]->SetDiscoveryFilter( | 1768 discovery_sessions_[0]->SetDiscoveryFilter( |
| 1769 std::move(discovery_filter), | 1769 std::move(discovery_filter), |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1849 base::Bind(&BluetoothBlueZTest::DiscoverySessionCallback, | 1849 base::Bind(&BluetoothBlueZTest::DiscoverySessionCallback, |
| 1850 base::Unretained(this)), | 1850 base::Unretained(this)), |
| 1851 base::Bind(&BluetoothBlueZTest::ErrorCallback, base::Unretained(this))); | 1851 base::Bind(&BluetoothBlueZTest::ErrorCallback, base::Unretained(this))); |
| 1852 | 1852 |
| 1853 message_loop_.Run(); | 1853 message_loop_.Run(); |
| 1854 | 1854 |
| 1855 if (i == 0) { | 1855 if (i == 0) { |
| 1856 EXPECT_EQ(1, observer.discovering_changed_count()); | 1856 EXPECT_EQ(1, observer.discovering_changed_count()); |
| 1857 observer.Reset(); | 1857 observer.Reset(); |
| 1858 | 1858 |
| 1859 auto filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); | 1859 auto* filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); |
| 1860 EXPECT_EQ("le", *filter->transport); | 1860 EXPECT_EQ("le", *filter->transport); |
| 1861 EXPECT_EQ(-85, *filter->rssi); | 1861 EXPECT_EQ(-85, *filter->rssi); |
| 1862 EXPECT_EQ(nullptr, filter->pathloss.get()); | 1862 EXPECT_EQ(nullptr, filter->pathloss.get()); |
| 1863 std::vector<std::string> uuids = *filter->uuids; | 1863 std::vector<std::string> uuids = *filter->uuids; |
| 1864 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1000")); | 1864 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1000")); |
| 1865 } else if (i == 1) { | 1865 } else if (i == 1) { |
| 1866 auto filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); | 1866 auto* filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); |
| 1867 EXPECT_EQ("le", *filter->transport); | 1867 EXPECT_EQ("le", *filter->transport); |
| 1868 EXPECT_EQ(-85, *filter->rssi); | 1868 EXPECT_EQ(-85, *filter->rssi); |
| 1869 EXPECT_EQ(nullptr, filter->pathloss.get()); | 1869 EXPECT_EQ(nullptr, filter->pathloss.get()); |
| 1870 std::vector<std::string> uuids = *filter->uuids; | 1870 std::vector<std::string> uuids = *filter->uuids; |
| 1871 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1000")); | 1871 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1000")); |
| 1872 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1001")); | 1872 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1001")); |
| 1873 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1020")); | 1873 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1020")); |
| 1874 } else if (i == 2) { | 1874 } else if (i == 2) { |
| 1875 auto filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); | 1875 auto* filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); |
| 1876 EXPECT_EQ("le", *filter->transport); | 1876 EXPECT_EQ("le", *filter->transport); |
| 1877 EXPECT_EQ(-85, *filter->rssi); | 1877 EXPECT_EQ(-85, *filter->rssi); |
| 1878 EXPECT_EQ(nullptr, filter->pathloss.get()); | 1878 EXPECT_EQ(nullptr, filter->pathloss.get()); |
| 1879 std::vector<std::string> uuids = *filter->uuids; | 1879 std::vector<std::string> uuids = *filter->uuids; |
| 1880 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1000")); | 1880 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1000")); |
| 1881 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1001")); | 1881 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1001")); |
| 1882 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1003")); | 1882 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1003")); |
| 1883 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1020")); | 1883 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1020")); |
| 1884 } | 1884 } |
| 1885 } | 1885 } |
| 1886 | 1886 |
| 1887 // the success callback should have been called 3 times and the adapter should | 1887 // the success callback should have been called 3 times and the adapter should |
| 1888 // be discovering. | 1888 // be discovering. |
| 1889 EXPECT_EQ(3, callback_count_); | 1889 EXPECT_EQ(3, callback_count_); |
| 1890 EXPECT_EQ(0, error_callback_count_); | 1890 EXPECT_EQ(0, error_callback_count_); |
| 1891 EXPECT_TRUE(adapter_->IsDiscovering()); | 1891 EXPECT_TRUE(adapter_->IsDiscovering()); |
| 1892 ASSERT_EQ((size_t)3, discovery_sessions_.size()); | 1892 ASSERT_EQ((size_t)3, discovery_sessions_.size()); |
| 1893 | 1893 |
| 1894 callback_count_ = 0; | 1894 callback_count_ = 0; |
| 1895 // Request to stop discovery twice. | 1895 // Request to stop discovery twice. |
| 1896 for (int i = 0; i < 2; i++) { | 1896 for (int i = 0; i < 2; i++) { |
| 1897 discovery_sessions_[i]->Stop( | 1897 discovery_sessions_[i]->Stop( |
| 1898 base::Bind(&BluetoothBlueZTest::Callback, base::Unretained(this)), | 1898 base::Bind(&BluetoothBlueZTest::Callback, base::Unretained(this)), |
| 1899 base::Bind(&BluetoothBlueZTest::ErrorCallback, base::Unretained(this))); | 1899 base::Bind(&BluetoothBlueZTest::ErrorCallback, base::Unretained(this))); |
| 1900 message_loop_.Run(); | 1900 message_loop_.Run(); |
| 1901 | 1901 |
| 1902 if (i == 0) { | 1902 if (i == 0) { |
| 1903 auto filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); | 1903 auto* filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); |
| 1904 EXPECT_EQ("le", *filter->transport); | 1904 EXPECT_EQ("le", *filter->transport); |
| 1905 EXPECT_EQ(-65, *filter->rssi); | 1905 EXPECT_EQ(-65, *filter->rssi); |
| 1906 EXPECT_EQ(nullptr, filter->pathloss.get()); | 1906 EXPECT_EQ(nullptr, filter->pathloss.get()); |
| 1907 std::vector<std::string> uuids = *filter->uuids; | 1907 std::vector<std::string> uuids = *filter->uuids; |
| 1908 EXPECT_EQ(3UL, uuids.size()); | 1908 EXPECT_EQ(3UL, uuids.size()); |
| 1909 EXPECT_EQ(uuids.end(), std::find(uuids.begin(), uuids.end(), "1000")); | 1909 EXPECT_EQ(uuids.end(), std::find(uuids.begin(), uuids.end(), "1000")); |
| 1910 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1001")); | 1910 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1001")); |
| 1911 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1003")); | 1911 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1003")); |
| 1912 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1020")); | 1912 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1020")); |
| 1913 } else if (i == 1) { | 1913 } else if (i == 1) { |
| 1914 auto filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); | 1914 auto* filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); |
| 1915 EXPECT_EQ("le", *filter->transport); | 1915 EXPECT_EQ("le", *filter->transport); |
| 1916 EXPECT_EQ(-65, *filter->rssi); | 1916 EXPECT_EQ(-65, *filter->rssi); |
| 1917 EXPECT_EQ(nullptr, filter->pathloss.get()); | 1917 EXPECT_EQ(nullptr, filter->pathloss.get()); |
| 1918 std::vector<std::string> uuids = *filter->uuids; | 1918 std::vector<std::string> uuids = *filter->uuids; |
| 1919 EXPECT_EQ(2UL, uuids.size()); | 1919 EXPECT_EQ(2UL, uuids.size()); |
| 1920 EXPECT_EQ(uuids.end(), std::find(uuids.begin(), uuids.end(), "1000")); | 1920 EXPECT_EQ(uuids.end(), std::find(uuids.begin(), uuids.end(), "1000")); |
| 1921 EXPECT_EQ(uuids.end(), std::find(uuids.begin(), uuids.end(), "1001")); | 1921 EXPECT_EQ(uuids.end(), std::find(uuids.begin(), uuids.end(), "1001")); |
| 1922 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1003")); | 1922 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1003")); |
| 1923 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1020")); | 1923 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1020")); |
| 1924 } else if (i == 2) { | 1924 } else if (i == 2) { |
| 1925 auto filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); | 1925 auto* filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); |
| 1926 EXPECT_EQ("le", *filter->transport); | 1926 EXPECT_EQ("le", *filter->transport); |
| 1927 EXPECT_EQ(-65, *filter->rssi); | 1927 EXPECT_EQ(-65, *filter->rssi); |
| 1928 EXPECT_EQ(nullptr, filter->pathloss.get()); | 1928 EXPECT_EQ(nullptr, filter->pathloss.get()); |
| 1929 std::vector<std::string> uuids = *filter->uuids; | 1929 std::vector<std::string> uuids = *filter->uuids; |
| 1930 EXPECT_EQ(0UL, uuids.size()); | 1930 EXPECT_EQ(0UL, uuids.size()); |
| 1931 } | 1931 } |
| 1932 } | 1932 } |
| 1933 | 1933 |
| 1934 // The success callback should have been called 2 times and the adapter should | 1934 // The success callback should have been called 2 times and the adapter should |
| 1935 // still be discovering. | 1935 // still be discovering. |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1971 adapter_->StartDiscoverySessionWithFilter( | 1971 adapter_->StartDiscoverySessionWithFilter( |
| 1972 std::move(discovery_filter), | 1972 std::move(discovery_filter), |
| 1973 base::Bind(&BluetoothBlueZTest::DiscoverySessionCallback, | 1973 base::Bind(&BluetoothBlueZTest::DiscoverySessionCallback, |
| 1974 base::Unretained(this)), | 1974 base::Unretained(this)), |
| 1975 base::Bind(&BluetoothBlueZTest::ErrorCallback, base::Unretained(this))); | 1975 base::Bind(&BluetoothBlueZTest::ErrorCallback, base::Unretained(this))); |
| 1976 | 1976 |
| 1977 // each result in 1 requests. | 1977 // each result in 1 requests. |
| 1978 message_loop_.Run(); | 1978 message_loop_.Run(); |
| 1979 | 1979 |
| 1980 if (i == 0) { | 1980 if (i == 0) { |
| 1981 auto filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); | 1981 auto* filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); |
| 1982 EXPECT_EQ("le", *filter->transport); | 1982 EXPECT_EQ("le", *filter->transport); |
| 1983 EXPECT_EQ(-85, *filter->rssi); | 1983 EXPECT_EQ(-85, *filter->rssi); |
| 1984 EXPECT_EQ(nullptr, filter->pathloss.get()); | 1984 EXPECT_EQ(nullptr, filter->pathloss.get()); |
| 1985 std::vector<std::string> uuids = *filter->uuids; | 1985 std::vector<std::string> uuids = *filter->uuids; |
| 1986 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1000")); | 1986 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1000")); |
| 1987 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1003")); | 1987 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1003")); |
| 1988 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1020")); | 1988 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1020")); |
| 1989 } else if (i == 1 || i == 2) { | 1989 } else if (i == 1 || i == 2) { |
| 1990 auto filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); | 1990 auto* filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); |
| 1991 EXPECT_EQ("le", *filter->transport); | 1991 EXPECT_EQ("le", *filter->transport); |
| 1992 EXPECT_EQ(-85, *filter->rssi); | 1992 EXPECT_EQ(-85, *filter->rssi); |
| 1993 EXPECT_EQ(nullptr, filter->pathloss.get()); | 1993 EXPECT_EQ(nullptr, filter->pathloss.get()); |
| 1994 std::vector<std::string> uuids = *filter->uuids; | 1994 std::vector<std::string> uuids = *filter->uuids; |
| 1995 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1000")); | 1995 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1000")); |
| 1996 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1001")); | 1996 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1001")); |
| 1997 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1003")); | 1997 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1003")); |
| 1998 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1020")); | 1998 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1020")); |
| 1999 } | 1999 } |
| 2000 } | 2000 } |
| (...skipping 24 matching lines...) Expand all Loading... |
| 2025 // no longer be discovering. | 2025 // no longer be discovering. |
| 2026 EXPECT_EQ(4, callback_count_); | 2026 EXPECT_EQ(4, callback_count_); |
| 2027 EXPECT_EQ(0, error_callback_count_); | 2027 EXPECT_EQ(0, error_callback_count_); |
| 2028 EXPECT_FALSE(adapter_->IsDiscovering()); | 2028 EXPECT_FALSE(adapter_->IsDiscovering()); |
| 2029 EXPECT_EQ(1, observer.discovering_changed_count()); | 2029 EXPECT_EQ(1, observer.discovering_changed_count()); |
| 2030 | 2030 |
| 2031 // All discovery sessions should be inactive. | 2031 // All discovery sessions should be inactive. |
| 2032 for (int i = 0; i < 6; i++) | 2032 for (int i = 0; i < 6; i++) |
| 2033 EXPECT_FALSE(discovery_sessions_[i]->IsActive()); | 2033 EXPECT_FALSE(discovery_sessions_[i]->IsActive()); |
| 2034 | 2034 |
| 2035 auto filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); | 2035 auto* filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); |
| 2036 EXPECT_EQ(nullptr, filter); | 2036 EXPECT_EQ(nullptr, filter); |
| 2037 } | 2037 } |
| 2038 | 2038 |
| 2039 // This unit test asserts that filter merging logic works correctly for filtered | 2039 // This unit test asserts that filter merging logic works correctly for filtered |
| 2040 // discovery requests done via the BluetoothAdapter. | 2040 // discovery requests done via the BluetoothAdapter. |
| 2041 TEST_F(BluetoothBlueZTest, SetDiscoveryFilterMergingTest) { | 2041 TEST_F(BluetoothBlueZTest, SetDiscoveryFilterMergingTest) { |
| 2042 GetAdapter(); | 2042 GetAdapter(); |
| 2043 adapter_->SetPowered( | 2043 adapter_->SetPowered( |
| 2044 true, base::Bind(&BluetoothBlueZTest::Callback, base::Unretained(this)), | 2044 true, base::Bind(&BluetoothBlueZTest::Callback, base::Unretained(this)), |
| 2045 base::Bind(&BluetoothBlueZTest::ErrorCallback, base::Unretained(this))); | 2045 base::Bind(&BluetoothBlueZTest::ErrorCallback, base::Unretained(this))); |
| 2046 | 2046 |
| 2047 BluetoothDiscoveryFilter* df = | 2047 BluetoothDiscoveryFilter* df = |
| 2048 new BluetoothDiscoveryFilter(device::BLUETOOTH_TRANSPORT_LE); | 2048 new BluetoothDiscoveryFilter(device::BLUETOOTH_TRANSPORT_LE); |
| 2049 df->SetRSSI(-15); | 2049 df->SetRSSI(-15); |
| 2050 df->AddUUID(BluetoothUUID("1000")); | 2050 df->AddUUID(BluetoothUUID("1000")); |
| 2051 std::unique_ptr<BluetoothDiscoveryFilter> discovery_filter(df); | 2051 std::unique_ptr<BluetoothDiscoveryFilter> discovery_filter(df); |
| 2052 | 2052 |
| 2053 adapter_->StartDiscoverySessionWithFilter( | 2053 adapter_->StartDiscoverySessionWithFilter( |
| 2054 std::move(discovery_filter), | 2054 std::move(discovery_filter), |
| 2055 base::Bind(&BluetoothBlueZTest::DiscoverySessionCallback, | 2055 base::Bind(&BluetoothBlueZTest::DiscoverySessionCallback, |
| 2056 base::Unretained(this)), | 2056 base::Unretained(this)), |
| 2057 base::Bind(&BluetoothBlueZTest::ErrorCallback, base::Unretained(this))); | 2057 base::Bind(&BluetoothBlueZTest::ErrorCallback, base::Unretained(this))); |
| 2058 | 2058 |
| 2059 message_loop_.Run(); | 2059 message_loop_.Run(); |
| 2060 | 2060 |
| 2061 auto filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); | 2061 auto* filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); |
| 2062 EXPECT_EQ("le", *filter->transport); | 2062 EXPECT_EQ("le", *filter->transport); |
| 2063 EXPECT_EQ(-15, *filter->rssi); | 2063 EXPECT_EQ(-15, *filter->rssi); |
| 2064 EXPECT_EQ(nullptr, filter->pathloss.get()); | 2064 EXPECT_EQ(nullptr, filter->pathloss.get()); |
| 2065 std::vector<std::string> uuids = *filter->uuids; | 2065 std::vector<std::string> uuids = *filter->uuids; |
| 2066 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1000")); | 2066 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1000")); |
| 2067 | 2067 |
| 2068 df = new BluetoothDiscoveryFilter(device::BLUETOOTH_TRANSPORT_LE); | 2068 df = new BluetoothDiscoveryFilter(device::BLUETOOTH_TRANSPORT_LE); |
| 2069 df->SetRSSI(-60); | 2069 df->SetRSSI(-60); |
| 2070 df->AddUUID(BluetoothUUID("1020")); | 2070 df->AddUUID(BluetoothUUID("1020")); |
| 2071 df->AddUUID(BluetoothUUID("1001")); | 2071 df->AddUUID(BluetoothUUID("1001")); |
| (...skipping 2425 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4497 adapter_->Shutdown(); | 4497 adapter_->Shutdown(); |
| 4498 adapter_bluez->OnStopDiscoveryError(GetDiscoveryErrorCallback(), "", ""); | 4498 adapter_bluez->OnStopDiscoveryError(GetDiscoveryErrorCallback(), "", ""); |
| 4499 | 4499 |
| 4500 // 1 error reported to RemoveDiscoverySession because of OnStopDiscoveryError, | 4500 // 1 error reported to RemoveDiscoverySession because of OnStopDiscoveryError, |
| 4501 // and kNumberOfDiscoverySessions errors queued with AddDiscoverySession. | 4501 // and kNumberOfDiscoverySessions errors queued with AddDiscoverySession. |
| 4502 EXPECT_EQ(0, callback_count_); | 4502 EXPECT_EQ(0, callback_count_); |
| 4503 EXPECT_EQ(1 + kNumberOfDiscoverySessions, error_callback_count_); | 4503 EXPECT_EQ(1 + kNumberOfDiscoverySessions, error_callback_count_); |
| 4504 } | 4504 } |
| 4505 | 4505 |
| 4506 } // namespace bluez | 4506 } // namespace bluez |
| OLD | NEW |