Index: device/bluetooth/bluetooth_remote_gatt_characteristic_unittest.cc |
diff --git a/device/bluetooth/bluetooth_remote_gatt_characteristic_unittest.cc b/device/bluetooth/bluetooth_remote_gatt_characteristic_unittest.cc |
index cc2186403f75d4fa8947fbfdec457d925a7a5e7c..d5a8eef7a1dfd51872b4b2914aff6d8c8033b0eb 100644 |
--- a/device/bluetooth/bluetooth_remote_gatt_characteristic_unittest.cc |
+++ b/device/bluetooth/bluetooth_remote_gatt_characteristic_unittest.cc |
@@ -291,9 +291,13 @@ TEST_F(BluetoothRemoteGattCharacteristicTest, GetService) { |
} |
#endif // defined(OS_ANDROID) || defined(OS_MACOSX) || defined(OS_WIN) |
-#if defined(OS_ANDROID) || defined(OS_WIN) |
+#if defined(OS_ANDROID) || defined(OS_MACOSX) || defined(OS_WIN) |
// Tests ReadRemoteCharacteristic and GetValue with empty value buffer. |
TEST_F(BluetoothRemoteGattCharacteristicTest, ReadRemoteCharacteristic_Empty) { |
+ if (!PlatformSupportsLowEnergy()) { |
+ LOG(WARNING) << "Low Energy Bluetooth unavailable, skipping unit test."; |
+ return; |
+ } |
ASSERT_NO_FATAL_FAILURE(FakeCharacteristicBoilerplate( |
BluetoothRemoteGattCharacteristic::PROPERTY_READ)); |
@@ -310,7 +314,7 @@ TEST_F(BluetoothRemoteGattCharacteristicTest, ReadRemoteCharacteristic_Empty) { |
EXPECT_EQ(empty_vector, last_read_value_); |
EXPECT_EQ(empty_vector, characteristic1_->GetValue()); |
} |
-#endif // defined(OS_ANDROID) || defined(OS_WIN) |
+#endif // defined(OS_ANDROID) || defined(OS_MACOSX) || defined(OS_WIN) |
#if defined(OS_ANDROID) || defined(OS_WIN) |
// Tests WriteRemoteCharacteristic with empty value buffer. |
@@ -334,8 +338,14 @@ TEST_F(BluetoothRemoteGattCharacteristicTest, WriteRemoteCharacteristic_Empty) { |
#if defined(OS_ANDROID) || defined(OS_WIN) |
// Tests ReadRemoteCharacteristic completing after Chrome objects are deleted. |
+// This test is not relevant for macOS. This can never happen if CBPeripheral |
+// delegate is set to nil. |
TEST_F(BluetoothRemoteGattCharacteristicTest, |
ReadRemoteCharacteristic_AfterDeleted) { |
+ if (!PlatformSupportsLowEnergy()) { |
+ LOG(WARNING) << "Low Energy Bluetooth unavailable, skipping unit test."; |
+ return; |
+ } |
ASSERT_NO_FATAL_FAILURE(FakeCharacteristicBoilerplate( |
BluetoothRemoteGattCharacteristic::PROPERTY_READ)); |
@@ -355,6 +365,8 @@ TEST_F(BluetoothRemoteGattCharacteristicTest, |
#if defined(OS_ANDROID) || defined(OS_WIN) |
// Tests WriteRemoteCharacteristic completing after Chrome objects are deleted. |
+// This test is not relevant for macOS. This can never happen if CBPeripheral |
+// delegate is set to nil. |
TEST_F(BluetoothRemoteGattCharacteristicTest, |
WriteRemoteCharacteristic_AfterDeleted) { |
ASSERT_NO_FATAL_FAILURE(FakeCharacteristicBoilerplate( |
@@ -373,9 +385,13 @@ TEST_F(BluetoothRemoteGattCharacteristicTest, |
} |
#endif // defined(OS_ANDROID) || defined(OS_WIN) |
-#if defined(OS_ANDROID) || defined(OS_WIN) |
+#if defined(OS_ANDROID) || defined(OS_MACOSX) || defined(OS_WIN) |
// Tests ReadRemoteCharacteristic and GetValue with non-empty value buffer. |
TEST_F(BluetoothRemoteGattCharacteristicTest, ReadRemoteCharacteristic) { |
+ if (!PlatformSupportsLowEnergy()) { |
+ LOG(WARNING) << "Low Energy Bluetooth unavailable, skipping unit test."; |
+ return; |
+ } |
ASSERT_NO_FATAL_FAILURE(FakeCharacteristicBoilerplate( |
BluetoothRemoteGattCharacteristic::PROPERTY_READ)); |
@@ -395,7 +411,7 @@ TEST_F(BluetoothRemoteGattCharacteristicTest, ReadRemoteCharacteristic) { |
EXPECT_EQ(test_vector, last_read_value_); |
EXPECT_EQ(test_vector, characteristic1_->GetValue()); |
} |
-#endif // defined(OS_ANDROID) || defined(OS_WIN) |
+#endif // defined(OS_ANDROID) || defined(OS_MACOSX) || defined(OS_WIN) |
#if defined(OS_ANDROID) || defined(OS_WIN) |
// Tests WriteRemoteCharacteristic with non-empty value buffer. |
@@ -416,9 +432,13 @@ TEST_F(BluetoothRemoteGattCharacteristicTest, WriteRemoteCharacteristic) { |
} |
#endif // defined(OS_ANDROID) || defined(OS_WIN) |
-#if defined(OS_ANDROID) || defined(OS_WIN) |
+#if defined(OS_ANDROID) || defined(OS_MACOSX) || defined(OS_WIN) |
// Tests ReadRemoteCharacteristic and GetValue multiple times. |
TEST_F(BluetoothRemoteGattCharacteristicTest, ReadRemoteCharacteristic_Twice) { |
+ if (!PlatformSupportsLowEnergy()) { |
+ LOG(WARNING) << "Low Energy Bluetooth unavailable, skipping unit test."; |
+ return; |
+ } |
ASSERT_NO_FATAL_FAILURE(FakeCharacteristicBoilerplate( |
BluetoothRemoteGattCharacteristic::PROPERTY_READ)); |
@@ -448,7 +468,7 @@ TEST_F(BluetoothRemoteGattCharacteristicTest, ReadRemoteCharacteristic_Twice) { |
EXPECT_EQ(empty_vector, last_read_value_); |
EXPECT_EQ(empty_vector, characteristic1_->GetValue()); |
} |
-#endif // defined(OS_ANDROID) || defined(OS_WIN) |
+#endif // defined(OS_ANDROID) || defined(OS_MACOSX) || defined(OS_WIN) |
#if defined(OS_ANDROID) || defined(OS_WIN) |
// Tests WriteRemoteCharacteristic multiple times. |
@@ -483,10 +503,14 @@ TEST_F(BluetoothRemoteGattCharacteristicTest, WriteRemoteCharacteristic_Twice) { |
} |
#endif // defined(OS_ANDROID) || defined(OS_WIN) |
-#if defined(OS_ANDROID) || defined(OS_WIN) |
+#if defined(OS_ANDROID) || defined(OS_MACOSX) || defined(OS_WIN) |
// Tests ReadRemoteCharacteristic on two characteristics. |
TEST_F(BluetoothRemoteGattCharacteristicTest, |
ReadRemoteCharacteristic_MultipleCharacteristics) { |
+ if (!PlatformSupportsLowEnergy()) { |
+ LOG(WARNING) << "Low Energy Bluetooth unavailable, skipping unit test."; |
+ return; |
+ } |
ASSERT_NO_FATAL_FAILURE(FakeCharacteristicBoilerplate( |
BluetoothRemoteGattCharacteristic::PROPERTY_READ)); |
@@ -515,7 +539,7 @@ TEST_F(BluetoothRemoteGattCharacteristicTest, |
EXPECT_EQ(test_vector1, characteristic1_->GetValue()); |
EXPECT_EQ(test_vector2, characteristic2_->GetValue()); |
} |
-#endif // defined(OS_ANDROID) || defined(OS_WIN) |
+#endif // defined(OS_ANDROID) || defined(OS_MACOSX) || defined(OS_WIN) |
#if defined(OS_ANDROID) || defined(OS_WIN) |
// Tests WriteRemoteCharacteristic on two characteristics. |
@@ -563,12 +587,18 @@ TEST_F(BluetoothRemoteGattCharacteristicTest, |
} |
#endif // defined(OS_ANDROID) || defined(OS_WIN) |
-#if defined(OS_ANDROID) || defined(OS_WIN) |
+#if defined(OS_ANDROID) || defined(OS_MACOSX) || defined(OS_WIN) |
// Tests ReadRemoteCharacteristic asynchronous error. |
TEST_F(BluetoothRemoteGattCharacteristicTest, ReadError) { |
+ if (!PlatformSupportsLowEnergy()) { |
+ LOG(WARNING) << "Low Energy Bluetooth unavailable, skipping unit test."; |
+ return; |
+ } |
ASSERT_NO_FATAL_FAILURE(FakeCharacteristicBoilerplate( |
BluetoothRemoteGattCharacteristic::PROPERTY_READ)); |
+ TestBluetoothAdapterObserver observer(adapter_); |
+ |
characteristic1_->ReadRemoteCharacteristic( |
GetReadValueCallback(Call::NOT_EXPECTED), |
GetGattErrorCallback(Call::EXPECTED)); |
@@ -578,8 +608,9 @@ TEST_F(BluetoothRemoteGattCharacteristicTest, ReadError) { |
characteristic1_, BluetoothRemoteGattService::GATT_ERROR_FAILED); |
EXPECT_EQ(BluetoothRemoteGattService::GATT_ERROR_INVALID_LENGTH, |
last_gatt_error_code_); |
+ EXPECT_EQ(0, observer.gatt_characteristic_value_changed_count()); |
} |
-#endif // defined(OS_ANDROID) || defined(OS_WIN) |
+#endif // defined(OS_ANDROID) || defined(OS_MACOSX) || defined(OS_WIN) |
#if defined(OS_ANDROID) || defined(OS_WIN) |
// Tests WriteRemoteCharacteristic asynchronous error. |
@@ -603,6 +634,8 @@ TEST_F(BluetoothRemoteGattCharacteristicTest, WriteError) { |
#if defined(OS_ANDROID) |
// Tests ReadRemoteCharacteristic synchronous error. |
+// Test not relevant for macOS since characteristic read cannot generate |
+// synchronous error. |
TEST_F(BluetoothRemoteGattCharacteristicTest, ReadSynchronousError) { |
ASSERT_NO_FATAL_FAILURE(FakeCharacteristicBoilerplate()); |
@@ -659,10 +692,14 @@ TEST_F(BluetoothRemoteGattCharacteristicTest, WriteSynchronousError) { |
} |
#endif // defined(OS_ANDROID) |
-#if defined(OS_ANDROID) || defined(OS_WIN) |
+#if defined(OS_ANDROID) || defined(OS_MACOSX) || defined(OS_WIN) |
// Tests ReadRemoteCharacteristic error with a pending read operation. |
TEST_F(BluetoothRemoteGattCharacteristicTest, |
ReadRemoteCharacteristic_ReadPending) { |
+ if (!PlatformSupportsLowEnergy()) { |
+ LOG(WARNING) << "Low Energy Bluetooth unavailable, skipping unit test."; |
+ return; |
+ } |
ASSERT_NO_FATAL_FAILURE(FakeCharacteristicBoilerplate( |
BluetoothRemoteGattCharacteristic::PROPERTY_READ)); |
@@ -687,7 +724,7 @@ TEST_F(BluetoothRemoteGattCharacteristicTest, |
EXPECT_EQ(1, callback_count_); |
EXPECT_EQ(0, error_callback_count_); |
} |
-#endif // defined(OS_ANDROID) || defined(OS_WIN) |
+#endif // defined(OS_ANDROID) || defined(OS_MACOSX) || defined(OS_WIN) |
#if defined(OS_ANDROID) || defined(OS_WIN) |
// Tests WriteRemoteCharacteristic error with a pending write operation. |