Index: content/browser/bluetooth/bluetooth_device_chooser_controller_unittest.cc |
diff --git a/content/browser/bluetooth/bluetooth_device_chooser_controller_unittest.cc b/content/browser/bluetooth/bluetooth_device_chooser_controller_unittest.cc |
index 42e689d8d340f722dd550410e09d5763141a52d1..e1aef880ca3531eeecf0e6c67fbffbe4ba13a473 100644 |
--- a/content/browser/bluetooth/bluetooth_device_chooser_controller_unittest.cc |
+++ b/content/browser/bluetooth/bluetooth_device_chooser_controller_unittest.cc |
@@ -3,12 +3,114 @@ |
// found in the LICENSE file. |
#include "content/browser/bluetooth/bluetooth_device_chooser_controller.h" |
+ |
+#include "base/memory/ptr_util.h" |
+#include "base/memory/ref_counted.h" |
+#include "content/browser/bluetooth/web_bluetooth_service_impl.h" |
+#include "content/test/test_render_view_host.h" |
+#include "content/test/test_web_contents.h" |
+#include "device/bluetooth/bluetooth_gatt_connection.h" |
+#include "device/bluetooth/test/mock_bluetooth_adapter.h" |
+#include "device/bluetooth/test/mock_bluetooth_device.h" |
+#include "device/bluetooth/test/mock_bluetooth_gatt_connection.h" |
+#include "testing/gmock/include/gmock/gmock.h" |
#include "testing/gtest/include/gtest/gtest.h" |
+#include "base/logging.h" |
+ |
namespace content { |
-class BluetoothDeviceChooserControllerTest : public testing::Test {}; |
+typedef testing::NiceMock<device::MockBluetoothAdapter> |
+ NiceMockBluetoothAdapter; |
+typedef testing::NiceMock<device::MockBluetoothDevice> NiceMockBluetoothDevice; |
+//typedef testing::NiceMock<device::MockBluetoothGattConnection> |
+// NiceMockBluetoothGattConnection; |
+ |
+//using testing::Return; |
+//using testing::StrEq; |
+//using testing::_; |
+ |
+namespace { |
+ |
+const WebBluetoothDeviceId kDeviceId("000000000000000000000A=="); |
+constexpr char kDeviceAddress[] = "0"; |
+constexpr char kDeviceName[] = "Device0"; |
+ |
+} // namespace |
+ |
+// class BluetoothDeviceChooserControllerTest : public testing::Test {}; |
+class BluetoothDeviceChooserControllerTest |
+ : public RenderViewHostImplTestHarness { |
+ public: |
+ BluetoothDeviceChooserControllerTest() |
+ : adapter_(new NiceMockBluetoothAdapter()), |
+ device_(adapter_.get(), |
+ 0 /* class */, |
+ kDeviceName, |
+ kDeviceAddress, |
+ false /* paired */, |
+ false /* connected */) { |
+ LOG(ERROR) << "[DJKim] BluetoothDeviceChooserControllerTest::BluetoothDeviceChooserControllerTest"; |
+ //ON_CALL(*adapter_, GetDevice(_)).WillByDefault(Return(nullptr)); |
+ //ON_CALL(*adapter_, GetDevice(StrEq(kDeviceAddress))) |
+ // .WillByDefault(Return(&device_)); |
+ } |
+ |
+ ~BluetoothDeviceChooserControllerTest() override {} |
+ |
+ void SetUp() override { |
+ LOG(ERROR) << "[DJKim] BluetoothDeviceChooserControllerTest::SetUp"; |
+ RenderViewHostImplTestHarness::SetUp(); |
+ |
+ // Create subframe to simulate two maps on the same WebContents. |
+ // contents()->GetMainFrame()->InitializeRenderFrameIfNeeded(); |
+ //TestRenderFrameHost* subframe = |
+ // contents()->GetMainFrame()->AppendChild("bluetooth_frame"); |
+ //subframe->InitializeRenderFrameIfNeeded(); |
+ service_ = |
+ contents()->GetMainFrame()->CreateWebBluetoothServiceForTesting(); |
+ |
+ //contents()->GetMainFrame()->SimulateRequestDevice(service_); |
+ //controller_ = new BluetoothDeviceChooserController(service_, contents()->GetMainFrame(), adapter_.get()); |
+ //service_->DeviceAdded(adapter_.get(), &device_); |
+ |
+ //service_->SimulateRequestDevice(); |
+ } |
+ |
+ void TearDown() override { |
+ LOG(ERROR) << "[DJKim] BluetoothDeviceChooserControllerTest::TearDown"; |
+ service_ = nullptr; |
+ RenderViewHostImplTestHarness::TearDown(); |
+ } |
+ |
+ //std::unique_ptr<NiceMockBluetoothGattConnection> GetConnection( |
+ // const std::string& address) { |
+ // LOG(ERROR) << "[DJKim] BluetoothDeviceChooserControllerTest::GetConnection"; |
+ // return base::MakeUnique<NiceMockBluetoothGattConnection>(adapter_.get(), |
+ // address); |
+ //} |
+ |
+ void StartDeviceDiscovery() { |
+ controller_->StartDeviceDiscoveryForTesting(); |
+ } |
+ void AdapterDiscoveringChanged(bool discovering) { |
+ LOG(ERROR) << "[DJKim] BluetoothDeviceChooserControllerTest::AdapterDiscoveringChanged"; |
+ service_->AdapterDiscoveringChanged(adapter_.get(), discovering); |
+ } |
+ |
+ bool IsDiscoverySessionActive() { |
+ return service_->IsDiscoverySessionActive(); |
+ } |
+ |
+ private: |
+ WebBluetoothServiceImpl* service_; |
+ scoped_refptr<NiceMockBluetoothAdapter> adapter_; |
+ NiceMockBluetoothDevice device_; |
+ BluetoothDeviceChooserController* controller_; |
+}; |
+ |
+#if 0 |
TEST_F(BluetoothDeviceChooserControllerTest, CalculateSignalStrengthLevel) { |
EXPECT_EQ( |
0, BluetoothDeviceChooserController::CalculateSignalStrengthLevel(-128)); |
@@ -35,5 +137,14 @@ TEST_F(BluetoothDeviceChooserControllerTest, CalculateSignalStrengthLevel) { |
EXPECT_EQ( |
4, BluetoothDeviceChooserController::CalculateSignalStrengthLevel(127)); |
} |
+#endif |
+ |
+TEST_F(BluetoothDeviceChooserControllerTest, AdapterDiscoveringChanged) { |
+ LOG(ERROR) << "[DJKim] BluetoothDeviceChooserControllerTest::AdapterDiscoveringChanged start"; |
+ StartDeviceDiscovery(); |
+ EXPECT_TRUE(IsDiscoverySessionActive()); |
+ AdapterDiscoveringChanged(true); |
+ EXPECT_FALSE(IsDiscoverySessionActive()); |
+} |
} // namespace content |