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 #include <vector> | 10 #include <vector> |
11 | 11 |
12 #include "base/bind_helpers.h" | 12 #include "base/bind_helpers.h" |
13 #include "base/message_loop/message_loop.h" | 13 #include "base/message_loop/message_loop.h" |
14 #include "base/run_loop.h" | 14 #include "base/run_loop.h" |
| 15 #include "base/stl_util.h" |
15 #include "base/strings/utf_string_conversions.h" | 16 #include "base/strings/utf_string_conversions.h" |
16 #include "dbus/object_path.h" | 17 #include "dbus/object_path.h" |
17 #include "device/bluetooth/bluetooth_adapter.h" | 18 #include "device/bluetooth/bluetooth_adapter.h" |
18 #include "device/bluetooth/bluetooth_adapter_factory.h" | 19 #include "device/bluetooth/bluetooth_adapter_factory.h" |
19 #include "device/bluetooth/bluetooth_common.h" | 20 #include "device/bluetooth/bluetooth_common.h" |
20 #include "device/bluetooth/bluetooth_device.h" | 21 #include "device/bluetooth/bluetooth_device.h" |
21 #include "device/bluetooth/bluetooth_discovery_session.h" | 22 #include "device/bluetooth/bluetooth_discovery_session.h" |
22 #include "device/bluetooth/bluez/bluetooth_adapter_bluez.h" | 23 #include "device/bluetooth/bluez/bluetooth_adapter_bluez.h" |
23 #include "device/bluetooth/bluez/bluetooth_device_bluez.h" | 24 #include "device/bluetooth/bluez/bluetooth_device_bluez.h" |
24 #include "device/bluetooth/bluez/bluetooth_pairing_bluez.h" | 25 #include "device/bluetooth/bluez/bluetooth_pairing_bluez.h" |
(...skipping 1427 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1452 ASSERT_EQ((size_t)1, discovery_sessions_.size()); | 1453 ASSERT_EQ((size_t)1, discovery_sessions_.size()); |
1453 ASSERT_TRUE(discovery_sessions_[0]->IsActive()); | 1454 ASSERT_TRUE(discovery_sessions_[0]->IsActive()); |
1454 ASSERT_TRUE(df->Equals(*discovery_sessions_[0]->GetDiscoveryFilter())); | 1455 ASSERT_TRUE(df->Equals(*discovery_sessions_[0]->GetDiscoveryFilter())); |
1455 | 1456 |
1456 auto* filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); | 1457 auto* filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); |
1457 EXPECT_NE(nullptr, filter); | 1458 EXPECT_NE(nullptr, filter); |
1458 EXPECT_EQ("le", *filter->transport); | 1459 EXPECT_EQ("le", *filter->transport); |
1459 EXPECT_EQ(-60, *filter->rssi); | 1460 EXPECT_EQ(-60, *filter->rssi); |
1460 EXPECT_EQ(nullptr, filter->pathloss.get()); | 1461 EXPECT_EQ(nullptr, filter->pathloss.get()); |
1461 std::vector<std::string> uuids = *filter->uuids; | 1462 std::vector<std::string> uuids = *filter->uuids; |
1462 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1000")); | 1463 EXPECT_TRUE(base::ContainsValue(uuids, "1000")); |
1463 | 1464 |
1464 discovery_sessions_[0]->Stop( | 1465 discovery_sessions_[0]->Stop( |
1465 base::Bind(&BluetoothBlueZTest::Callback, base::Unretained(this)), | 1466 base::Bind(&BluetoothBlueZTest::Callback, base::Unretained(this)), |
1466 base::Bind(&BluetoothBlueZTest::ErrorCallback, base::Unretained(this))); | 1467 base::Bind(&BluetoothBlueZTest::ErrorCallback, base::Unretained(this))); |
1467 | 1468 |
1468 base::RunLoop().Run(); | 1469 base::RunLoop().Run(); |
1469 | 1470 |
1470 EXPECT_EQ(1, callback_count_); | 1471 EXPECT_EQ(1, callback_count_); |
1471 EXPECT_EQ(0, error_callback_count_); | 1472 EXPECT_EQ(0, error_callback_count_); |
1472 | 1473 |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1580 ASSERT_TRUE(df->Equals(*discovery_sessions_[0]->GetDiscoveryFilter())); | 1581 ASSERT_TRUE(df->Equals(*discovery_sessions_[0]->GetDiscoveryFilter())); |
1581 ASSERT_TRUE(discovery_sessions_[1]->IsActive()); | 1582 ASSERT_TRUE(discovery_sessions_[1]->IsActive()); |
1582 ASSERT_TRUE(df2->Equals(*discovery_sessions_[1]->GetDiscoveryFilter())); | 1583 ASSERT_TRUE(df2->Equals(*discovery_sessions_[1]->GetDiscoveryFilter())); |
1583 | 1584 |
1584 auto* filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); | 1585 auto* filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); |
1585 EXPECT_NE(nullptr, filter); | 1586 EXPECT_NE(nullptr, filter); |
1586 EXPECT_EQ("auto", *filter->transport); | 1587 EXPECT_EQ("auto", *filter->transport); |
1587 EXPECT_EQ(-65, *filter->rssi); | 1588 EXPECT_EQ(-65, *filter->rssi); |
1588 EXPECT_EQ(nullptr, filter->pathloss.get()); | 1589 EXPECT_EQ(nullptr, filter->pathloss.get()); |
1589 auto uuids = *filter->uuids; | 1590 auto uuids = *filter->uuids; |
1590 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1000")); | 1591 EXPECT_TRUE(base::ContainsValue(uuids, "1000")); |
1591 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1002")); | 1592 EXPECT_TRUE(base::ContainsValue(uuids, "1002")); |
1592 | 1593 |
1593 discovery_sessions_[0]->Stop( | 1594 discovery_sessions_[0]->Stop( |
1594 base::Bind(&BluetoothBlueZTest::Callback, base::Unretained(this)), | 1595 base::Bind(&BluetoothBlueZTest::Callback, base::Unretained(this)), |
1595 base::Bind(&BluetoothBlueZTest::ErrorCallback, base::Unretained(this))); | 1596 base::Bind(&BluetoothBlueZTest::ErrorCallback, base::Unretained(this))); |
1596 | 1597 |
1597 discovery_sessions_[1]->Stop( | 1598 discovery_sessions_[1]->Stop( |
1598 base::Bind(&BluetoothBlueZTest::Callback, base::Unretained(this)), | 1599 base::Bind(&BluetoothBlueZTest::Callback, base::Unretained(this)), |
1599 base::Bind(&BluetoothBlueZTest::ErrorCallback, base::Unretained(this))); | 1600 base::Bind(&BluetoothBlueZTest::ErrorCallback, base::Unretained(this))); |
1600 | 1601 |
1601 base::RunLoop().Run(); | 1602 base::RunLoop().Run(); |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1684 ASSERT_EQ((size_t)1, discovery_sessions_.size()); | 1685 ASSERT_EQ((size_t)1, discovery_sessions_.size()); |
1685 ASSERT_TRUE(discovery_sessions_[0]->IsActive()); | 1686 ASSERT_TRUE(discovery_sessions_[0]->IsActive()); |
1686 ASSERT_TRUE(df2->Equals(*discovery_sessions_[0]->GetDiscoveryFilter())); | 1687 ASSERT_TRUE(df2->Equals(*discovery_sessions_[0]->GetDiscoveryFilter())); |
1687 | 1688 |
1688 auto* filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); | 1689 auto* filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); |
1689 EXPECT_NE(nullptr, filter); | 1690 EXPECT_NE(nullptr, filter); |
1690 EXPECT_EQ("bredr", *filter->transport); | 1691 EXPECT_EQ("bredr", *filter->transport); |
1691 EXPECT_EQ(-65, *filter->rssi); | 1692 EXPECT_EQ(-65, *filter->rssi); |
1692 EXPECT_EQ(nullptr, filter->pathloss.get()); | 1693 EXPECT_EQ(nullptr, filter->pathloss.get()); |
1693 auto uuids = *filter->uuids; | 1694 auto uuids = *filter->uuids; |
1694 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1002")); | 1695 EXPECT_TRUE(base::ContainsValue(uuids, "1002")); |
1695 | 1696 |
1696 discovery_sessions_[0]->Stop( | 1697 discovery_sessions_[0]->Stop( |
1697 base::Bind(&BluetoothBlueZTest::Callback, base::Unretained(this)), | 1698 base::Bind(&BluetoothBlueZTest::Callback, base::Unretained(this)), |
1698 base::Bind(&BluetoothBlueZTest::ErrorCallback, base::Unretained(this))); | 1699 base::Bind(&BluetoothBlueZTest::ErrorCallback, base::Unretained(this))); |
1699 | 1700 |
1700 base::RunLoop().Run(); | 1701 base::RunLoop().Run(); |
1701 | 1702 |
1702 EXPECT_EQ(1, callback_count_); | 1703 EXPECT_EQ(1, callback_count_); |
1703 EXPECT_EQ(0, error_callback_count_); | 1704 EXPECT_EQ(0, error_callback_count_); |
1704 | 1705 |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1762 callback_count_ = 0; | 1763 callback_count_ = 0; |
1763 | 1764 |
1764 ASSERT_TRUE(df->Equals(*discovery_sessions_[0]->GetDiscoveryFilter())); | 1765 ASSERT_TRUE(df->Equals(*discovery_sessions_[0]->GetDiscoveryFilter())); |
1765 | 1766 |
1766 filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); | 1767 filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); |
1767 EXPECT_NE(nullptr, filter); | 1768 EXPECT_NE(nullptr, filter); |
1768 EXPECT_EQ("le", *filter->transport); | 1769 EXPECT_EQ("le", *filter->transport); |
1769 EXPECT_EQ(-60, *filter->rssi); | 1770 EXPECT_EQ(-60, *filter->rssi); |
1770 EXPECT_EQ(nullptr, filter->pathloss.get()); | 1771 EXPECT_EQ(nullptr, filter->pathloss.get()); |
1771 std::vector<std::string> uuids = *filter->uuids; | 1772 std::vector<std::string> uuids = *filter->uuids; |
1772 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1000")); | 1773 EXPECT_TRUE(base::ContainsValue(uuids, "1000")); |
1773 | 1774 |
1774 discovery_sessions_[0]->Stop( | 1775 discovery_sessions_[0]->Stop( |
1775 base::Bind(&BluetoothBlueZTest::Callback, base::Unretained(this)), | 1776 base::Bind(&BluetoothBlueZTest::Callback, base::Unretained(this)), |
1776 base::Bind(&BluetoothBlueZTest::ErrorCallback, base::Unretained(this))); | 1777 base::Bind(&BluetoothBlueZTest::ErrorCallback, base::Unretained(this))); |
1777 | 1778 |
1778 base::RunLoop().Run(); | 1779 base::RunLoop().Run(); |
1779 | 1780 |
1780 EXPECT_EQ(1, callback_count_); | 1781 EXPECT_EQ(1, callback_count_); |
1781 EXPECT_EQ(0, error_callback_count_); | 1782 EXPECT_EQ(0, error_callback_count_); |
1782 | 1783 |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1840 | 1841 |
1841 if (i == 0) { | 1842 if (i == 0) { |
1842 EXPECT_EQ(1, observer.discovering_changed_count()); | 1843 EXPECT_EQ(1, observer.discovering_changed_count()); |
1843 observer.Reset(); | 1844 observer.Reset(); |
1844 | 1845 |
1845 auto* filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); | 1846 auto* filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); |
1846 EXPECT_EQ("le", *filter->transport); | 1847 EXPECT_EQ("le", *filter->transport); |
1847 EXPECT_EQ(-85, *filter->rssi); | 1848 EXPECT_EQ(-85, *filter->rssi); |
1848 EXPECT_EQ(nullptr, filter->pathloss.get()); | 1849 EXPECT_EQ(nullptr, filter->pathloss.get()); |
1849 std::vector<std::string> uuids = *filter->uuids; | 1850 std::vector<std::string> uuids = *filter->uuids; |
1850 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1000")); | 1851 EXPECT_TRUE(base::ContainsValue(uuids, "1000")); |
1851 } else if (i == 1) { | 1852 } else if (i == 1) { |
1852 auto* filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); | 1853 auto* filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); |
1853 EXPECT_EQ("le", *filter->transport); | 1854 EXPECT_EQ("le", *filter->transport); |
1854 EXPECT_EQ(-85, *filter->rssi); | 1855 EXPECT_EQ(-85, *filter->rssi); |
1855 EXPECT_EQ(nullptr, filter->pathloss.get()); | 1856 EXPECT_EQ(nullptr, filter->pathloss.get()); |
1856 std::vector<std::string> uuids = *filter->uuids; | 1857 std::vector<std::string> uuids = *filter->uuids; |
1857 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1000")); | 1858 EXPECT_TRUE(base::ContainsValue(uuids, "1000")); |
1858 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1001")); | 1859 EXPECT_TRUE(base::ContainsValue(uuids, "1001")); |
1859 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1020")); | 1860 EXPECT_TRUE(base::ContainsValue(uuids, "1020")); |
1860 } else if (i == 2) { | 1861 } else if (i == 2) { |
1861 auto* filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); | 1862 auto* filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); |
1862 EXPECT_EQ("le", *filter->transport); | 1863 EXPECT_EQ("le", *filter->transport); |
1863 EXPECT_EQ(-85, *filter->rssi); | 1864 EXPECT_EQ(-85, *filter->rssi); |
1864 EXPECT_EQ(nullptr, filter->pathloss.get()); | 1865 EXPECT_EQ(nullptr, filter->pathloss.get()); |
1865 std::vector<std::string> uuids = *filter->uuids; | 1866 std::vector<std::string> uuids = *filter->uuids; |
1866 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1000")); | 1867 EXPECT_TRUE(base::ContainsValue(uuids, "1000")); |
1867 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1001")); | 1868 EXPECT_TRUE(base::ContainsValue(uuids, "1001")); |
1868 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1003")); | 1869 EXPECT_TRUE(base::ContainsValue(uuids, "1003")); |
1869 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1020")); | 1870 EXPECT_TRUE(base::ContainsValue(uuids, "1020")); |
1870 } | 1871 } |
1871 } | 1872 } |
1872 | 1873 |
1873 // the success callback should have been called 3 times and the adapter should | 1874 // the success callback should have been called 3 times and the adapter should |
1874 // be discovering. | 1875 // be discovering. |
1875 EXPECT_EQ(3, callback_count_); | 1876 EXPECT_EQ(3, callback_count_); |
1876 EXPECT_EQ(0, error_callback_count_); | 1877 EXPECT_EQ(0, error_callback_count_); |
1877 EXPECT_TRUE(adapter_->IsDiscovering()); | 1878 EXPECT_TRUE(adapter_->IsDiscovering()); |
1878 ASSERT_EQ((size_t)3, discovery_sessions_.size()); | 1879 ASSERT_EQ((size_t)3, discovery_sessions_.size()); |
1879 | 1880 |
1880 callback_count_ = 0; | 1881 callback_count_ = 0; |
1881 // Request to stop discovery twice. | 1882 // Request to stop discovery twice. |
1882 for (int i = 0; i < 2; i++) { | 1883 for (int i = 0; i < 2; i++) { |
1883 discovery_sessions_[i]->Stop( | 1884 discovery_sessions_[i]->Stop( |
1884 base::Bind(&BluetoothBlueZTest::Callback, base::Unretained(this)), | 1885 base::Bind(&BluetoothBlueZTest::Callback, base::Unretained(this)), |
1885 base::Bind(&BluetoothBlueZTest::ErrorCallback, base::Unretained(this))); | 1886 base::Bind(&BluetoothBlueZTest::ErrorCallback, base::Unretained(this))); |
1886 base::RunLoop().Run(); | 1887 base::RunLoop().Run(); |
1887 | 1888 |
1888 if (i == 0) { | 1889 if (i == 0) { |
1889 auto* filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); | 1890 auto* filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); |
1890 EXPECT_EQ("le", *filter->transport); | 1891 EXPECT_EQ("le", *filter->transport); |
1891 EXPECT_EQ(-65, *filter->rssi); | 1892 EXPECT_EQ(-65, *filter->rssi); |
1892 EXPECT_EQ(nullptr, filter->pathloss.get()); | 1893 EXPECT_EQ(nullptr, filter->pathloss.get()); |
1893 std::vector<std::string> uuids = *filter->uuids; | 1894 std::vector<std::string> uuids = *filter->uuids; |
1894 EXPECT_EQ(3UL, uuids.size()); | 1895 EXPECT_EQ(3UL, uuids.size()); |
1895 EXPECT_EQ(uuids.end(), std::find(uuids.begin(), uuids.end(), "1000")); | 1896 EXPECT_FALSE(base::ContainsValue(uuids, "1000")); |
1896 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1001")); | 1897 EXPECT_TRUE(base::ContainsValue(uuids, "1001")); |
1897 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1003")); | 1898 EXPECT_TRUE(base::ContainsValue(uuids, "1003")); |
1898 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1020")); | 1899 EXPECT_TRUE(base::ContainsValue(uuids, "1020")); |
1899 } else if (i == 1) { | 1900 } else if (i == 1) { |
1900 auto* filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); | 1901 auto* filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); |
1901 EXPECT_EQ("le", *filter->transport); | 1902 EXPECT_EQ("le", *filter->transport); |
1902 EXPECT_EQ(-65, *filter->rssi); | 1903 EXPECT_EQ(-65, *filter->rssi); |
1903 EXPECT_EQ(nullptr, filter->pathloss.get()); | 1904 EXPECT_EQ(nullptr, filter->pathloss.get()); |
1904 std::vector<std::string> uuids = *filter->uuids; | 1905 std::vector<std::string> uuids = *filter->uuids; |
1905 EXPECT_EQ(2UL, uuids.size()); | 1906 EXPECT_EQ(2UL, uuids.size()); |
1906 EXPECT_EQ(uuids.end(), std::find(uuids.begin(), uuids.end(), "1000")); | 1907 EXPECT_FALSE(base::ContainsValue(uuids, "1000")); |
1907 EXPECT_EQ(uuids.end(), std::find(uuids.begin(), uuids.end(), "1001")); | 1908 EXPECT_FALSE(base::ContainsValue(uuids, "1001")); |
1908 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1003")); | 1909 EXPECT_TRUE(base::ContainsValue(uuids, "1003")); |
1909 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1020")); | 1910 EXPECT_TRUE(base::ContainsValue(uuids, "1020")); |
1910 } else if (i == 2) { | 1911 } else if (i == 2) { |
1911 auto* filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); | 1912 auto* filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); |
1912 EXPECT_EQ("le", *filter->transport); | 1913 EXPECT_EQ("le", *filter->transport); |
1913 EXPECT_EQ(-65, *filter->rssi); | 1914 EXPECT_EQ(-65, *filter->rssi); |
1914 EXPECT_EQ(nullptr, filter->pathloss.get()); | 1915 EXPECT_EQ(nullptr, filter->pathloss.get()); |
1915 std::vector<std::string> uuids = *filter->uuids; | 1916 std::vector<std::string> uuids = *filter->uuids; |
1916 EXPECT_EQ(0UL, uuids.size()); | 1917 EXPECT_EQ(0UL, uuids.size()); |
1917 } | 1918 } |
1918 } | 1919 } |
1919 | 1920 |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1962 | 1963 |
1963 // each result in 1 requests. | 1964 // each result in 1 requests. |
1964 base::RunLoop().Run(); | 1965 base::RunLoop().Run(); |
1965 | 1966 |
1966 if (i == 0) { | 1967 if (i == 0) { |
1967 auto* filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); | 1968 auto* filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); |
1968 EXPECT_EQ("le", *filter->transport); | 1969 EXPECT_EQ("le", *filter->transport); |
1969 EXPECT_EQ(-85, *filter->rssi); | 1970 EXPECT_EQ(-85, *filter->rssi); |
1970 EXPECT_EQ(nullptr, filter->pathloss.get()); | 1971 EXPECT_EQ(nullptr, filter->pathloss.get()); |
1971 std::vector<std::string> uuids = *filter->uuids; | 1972 std::vector<std::string> uuids = *filter->uuids; |
1972 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1000")); | 1973 EXPECT_TRUE(base::ContainsValue(uuids, "1000")); |
1973 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1003")); | 1974 EXPECT_TRUE(base::ContainsValue(uuids, "1003")); |
1974 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1020")); | 1975 EXPECT_TRUE(base::ContainsValue(uuids, "1020")); |
1975 } else if (i == 1 || i == 2) { | 1976 } else if (i == 1 || i == 2) { |
1976 auto* filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); | 1977 auto* filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); |
1977 EXPECT_EQ("le", *filter->transport); | 1978 EXPECT_EQ("le", *filter->transport); |
1978 EXPECT_EQ(-85, *filter->rssi); | 1979 EXPECT_EQ(-85, *filter->rssi); |
1979 EXPECT_EQ(nullptr, filter->pathloss.get()); | 1980 EXPECT_EQ(nullptr, filter->pathloss.get()); |
1980 std::vector<std::string> uuids = *filter->uuids; | 1981 std::vector<std::string> uuids = *filter->uuids; |
1981 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1000")); | 1982 EXPECT_TRUE(base::ContainsValue(uuids, "1000")); |
1982 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1001")); | 1983 EXPECT_TRUE(base::ContainsValue(uuids, "1001")); |
1983 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1003")); | 1984 EXPECT_TRUE(base::ContainsValue(uuids, "1003")); |
1984 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1020")); | 1985 EXPECT_TRUE(base::ContainsValue(uuids, "1020")); |
1985 } | 1986 } |
1986 } | 1987 } |
1987 | 1988 |
1988 // The success callback should have been called 3 times and the adapter should | 1989 // The success callback should have been called 3 times and the adapter should |
1989 // still be discovering. | 1990 // still be discovering. |
1990 EXPECT_EQ(3, callback_count_); | 1991 EXPECT_EQ(3, callback_count_); |
1991 EXPECT_EQ(0, error_callback_count_); | 1992 EXPECT_EQ(0, error_callback_count_); |
1992 EXPECT_TRUE(adapter_->IsDiscovering()); | 1993 EXPECT_TRUE(adapter_->IsDiscovering()); |
1993 ASSERT_EQ((size_t)6, discovery_sessions_.size()); | 1994 ASSERT_EQ((size_t)6, discovery_sessions_.size()); |
1994 | 1995 |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2042 base::Unretained(this)), | 2043 base::Unretained(this)), |
2043 base::Bind(&BluetoothBlueZTest::ErrorCallback, base::Unretained(this))); | 2044 base::Bind(&BluetoothBlueZTest::ErrorCallback, base::Unretained(this))); |
2044 | 2045 |
2045 base::RunLoop().Run(); | 2046 base::RunLoop().Run(); |
2046 | 2047 |
2047 auto* filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); | 2048 auto* filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); |
2048 EXPECT_EQ("le", *filter->transport); | 2049 EXPECT_EQ("le", *filter->transport); |
2049 EXPECT_EQ(-15, *filter->rssi); | 2050 EXPECT_EQ(-15, *filter->rssi); |
2050 EXPECT_EQ(nullptr, filter->pathloss.get()); | 2051 EXPECT_EQ(nullptr, filter->pathloss.get()); |
2051 std::vector<std::string> uuids = *filter->uuids; | 2052 std::vector<std::string> uuids = *filter->uuids; |
2052 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1000")); | 2053 EXPECT_TRUE(base::ContainsValue(uuids, "1000")); |
2053 | 2054 |
2054 df = new BluetoothDiscoveryFilter(device::BLUETOOTH_TRANSPORT_LE); | 2055 df = new BluetoothDiscoveryFilter(device::BLUETOOTH_TRANSPORT_LE); |
2055 df->SetRSSI(-60); | 2056 df->SetRSSI(-60); |
2056 df->AddUUID(BluetoothUUID("1020")); | 2057 df->AddUUID(BluetoothUUID("1020")); |
2057 df->AddUUID(BluetoothUUID("1001")); | 2058 df->AddUUID(BluetoothUUID("1001")); |
2058 discovery_filter = std::unique_ptr<BluetoothDiscoveryFilter>(df); | 2059 discovery_filter = std::unique_ptr<BluetoothDiscoveryFilter>(df); |
2059 | 2060 |
2060 adapter_->StartDiscoverySessionWithFilter( | 2061 adapter_->StartDiscoverySessionWithFilter( |
2061 std::move(discovery_filter), | 2062 std::move(discovery_filter), |
2062 base::Bind(&BluetoothBlueZTest::DiscoverySessionCallback, | 2063 base::Bind(&BluetoothBlueZTest::DiscoverySessionCallback, |
2063 base::Unretained(this)), | 2064 base::Unretained(this)), |
2064 base::Bind(&BluetoothBlueZTest::ErrorCallback, base::Unretained(this))); | 2065 base::Bind(&BluetoothBlueZTest::ErrorCallback, base::Unretained(this))); |
2065 | 2066 |
2066 base::RunLoop().Run(); | 2067 base::RunLoop().Run(); |
2067 | 2068 |
2068 filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); | 2069 filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); |
2069 EXPECT_EQ("le", *filter->transport); | 2070 EXPECT_EQ("le", *filter->transport); |
2070 EXPECT_EQ(-60, *filter->rssi); | 2071 EXPECT_EQ(-60, *filter->rssi); |
2071 EXPECT_EQ(nullptr, filter->pathloss.get()); | 2072 EXPECT_EQ(nullptr, filter->pathloss.get()); |
2072 uuids = *filter->uuids; | 2073 uuids = *filter->uuids; |
2073 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1000")); | 2074 EXPECT_TRUE(base::ContainsValue(uuids, "1000")); |
2074 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1001")); | 2075 EXPECT_TRUE(base::ContainsValue(uuids, "1001")); |
2075 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1020")); | 2076 EXPECT_TRUE(base::ContainsValue(uuids, "1020")); |
2076 | 2077 |
2077 BluetoothDiscoveryFilter* df3 = | 2078 BluetoothDiscoveryFilter* df3 = |
2078 new BluetoothDiscoveryFilter(device::BLUETOOTH_TRANSPORT_CLASSIC); | 2079 new BluetoothDiscoveryFilter(device::BLUETOOTH_TRANSPORT_CLASSIC); |
2079 df3->SetRSSI(-65); | 2080 df3->SetRSSI(-65); |
2080 df3->AddUUID(BluetoothUUID("1020")); | 2081 df3->AddUUID(BluetoothUUID("1020")); |
2081 df3->AddUUID(BluetoothUUID("1003")); | 2082 df3->AddUUID(BluetoothUUID("1003")); |
2082 std::unique_ptr<BluetoothDiscoveryFilter> discovery_filter3(df3); | 2083 std::unique_ptr<BluetoothDiscoveryFilter> discovery_filter3(df3); |
2083 | 2084 |
2084 adapter_->StartDiscoverySessionWithFilter( | 2085 adapter_->StartDiscoverySessionWithFilter( |
2085 std::move(discovery_filter3), | 2086 std::move(discovery_filter3), |
2086 base::Bind(&BluetoothBlueZTest::DiscoverySessionCallback, | 2087 base::Bind(&BluetoothBlueZTest::DiscoverySessionCallback, |
2087 base::Unretained(this)), | 2088 base::Unretained(this)), |
2088 base::Bind(&BluetoothBlueZTest::ErrorCallback, base::Unretained(this))); | 2089 base::Bind(&BluetoothBlueZTest::ErrorCallback, base::Unretained(this))); |
2089 | 2090 |
2090 base::RunLoop().Run(); | 2091 base::RunLoop().Run(); |
2091 | 2092 |
2092 filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); | 2093 filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); |
2093 EXPECT_EQ("auto", *filter->transport); | 2094 EXPECT_EQ("auto", *filter->transport); |
2094 EXPECT_EQ(-65, *filter->rssi); | 2095 EXPECT_EQ(-65, *filter->rssi); |
2095 EXPECT_EQ(nullptr, filter->pathloss.get()); | 2096 EXPECT_EQ(nullptr, filter->pathloss.get()); |
2096 uuids = *filter->uuids; | 2097 uuids = *filter->uuids; |
2097 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1000")); | 2098 EXPECT_TRUE(base::ContainsValue(uuids, "1000")); |
2098 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1001")); | 2099 EXPECT_TRUE(base::ContainsValue(uuids, "1001")); |
2099 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1003")); | 2100 EXPECT_TRUE(base::ContainsValue(uuids, "1003")); |
2100 EXPECT_NE(uuids.end(), std::find(uuids.begin(), uuids.end(), "1020")); | 2101 EXPECT_TRUE(base::ContainsValue(uuids, "1020")); |
2101 | 2102 |
2102 // start additionally classic scan | 2103 // start additionally classic scan |
2103 adapter_->StartDiscoverySession( | 2104 adapter_->StartDiscoverySession( |
2104 base::Bind(&BluetoothBlueZTest::DiscoverySessionCallback, | 2105 base::Bind(&BluetoothBlueZTest::DiscoverySessionCallback, |
2105 base::Unretained(this)), | 2106 base::Unretained(this)), |
2106 base::Bind(&BluetoothBlueZTest::ErrorCallback, base::Unretained(this))); | 2107 base::Bind(&BluetoothBlueZTest::ErrorCallback, base::Unretained(this))); |
2107 | 2108 |
2108 base::RunLoop().Run(); | 2109 base::RunLoop().Run(); |
2109 | 2110 |
2110 filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); | 2111 filter = fake_bluetooth_adapter_client_->GetDiscoveryFilter(); |
(...skipping 2509 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4620 // Return an error if the type is not valid. | 4621 // Return an error if the type is not valid. |
4621 properties->type.set_valid(false); | 4622 properties->type.set_valid(false); |
4622 device->SetConnectionLatency( | 4623 device->SetConnectionLatency( |
4623 BluetoothDevice::ConnectionLatency::CONNECTION_LATENCY_MEDIUM, | 4624 BluetoothDevice::ConnectionLatency::CONNECTION_LATENCY_MEDIUM, |
4624 GetCallback(), GetErrorCallback()); | 4625 GetCallback(), GetErrorCallback()); |
4625 EXPECT_EQ(3, callback_count_); | 4626 EXPECT_EQ(3, callback_count_); |
4626 EXPECT_EQ(2, error_callback_count_); | 4627 EXPECT_EQ(2, error_callback_count_); |
4627 } | 4628 } |
4628 | 4629 |
4629 } // namespace bluez | 4630 } // namespace bluez |
OLD | NEW |