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 |