1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "base/memory/ref_counted.h"
6 #include "device/bluetooth/bluetooth_adapter_android.h"
7 #include "testing/gtest/include/gtest/gtest.h"
11 class BluetoothAdapterAndroidTest
: public testing::Test
{
13 void InitWithPermission() {
14 adapter_
= BluetoothAdapterAndroid::CreateAdapter().get();
17 void InitWithoutPermission() {
19 BluetoothAdapterAndroid::CreateAdapterWithoutPermissionForTesting()
23 scoped_refptr
<BluetoothAdapterAndroid
> adapter_
;
26 TEST_F(BluetoothAdapterAndroidTest
, Construct
) {
28 ASSERT_TRUE(adapter_
.get());
29 EXPECT_TRUE(adapter_
->HasBluetoothPermission());
30 if (!adapter_
->IsPresent()) {
31 LOG(WARNING
) << "Bluetooth adapter not present; skipping unit test.";
34 EXPECT_GT(adapter_
->GetAddress().length(), 0u);
35 EXPECT_GT(adapter_
->GetName().length(), 0u);
36 EXPECT_TRUE(adapter_
->IsPresent());
37 // Don't know on test machines if adapter will be powered or not, but
38 // the call should be safe to make and consistent.
39 EXPECT_EQ(adapter_
->IsPowered(), adapter_
->IsPowered());
40 EXPECT_FALSE(adapter_
->IsDiscoverable());
41 EXPECT_FALSE(adapter_
->IsDiscovering());
44 TEST_F(BluetoothAdapterAndroidTest
, ConstructNoPermision
) {
45 InitWithoutPermission();
46 ASSERT_TRUE(adapter_
.get());
47 EXPECT_FALSE(adapter_
->HasBluetoothPermission());
48 EXPECT_EQ(adapter_
->GetAddress().length(), 0u);
49 EXPECT_EQ(adapter_
->GetName().length(), 0u);
50 EXPECT_FALSE(adapter_
->IsPresent());
51 EXPECT_FALSE(adapter_
->IsPowered());
52 EXPECT_FALSE(adapter_
->IsDiscoverable());
53 EXPECT_FALSE(adapter_
->IsDiscovering());