Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1091)

Unified Diff: chrome/browser/extensions/api/bluetooth_low_energy/bluetooth_low_energy_apitest.cc

Issue 262053003: chrome.bluetoothLowEnergy: Implement getCharacteristic. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/api/bluetooth_low_energy/bluetooth_low_energy_apitest.cc
diff --git a/chrome/browser/extensions/api/bluetooth_low_energy/bluetooth_low_energy_apitest.cc b/chrome/browser/extensions/api/bluetooth_low_energy/bluetooth_low_energy_apitest.cc
index 3519ac8b8d5839e0036bf2e19cf1042538aa7f0a..1a35bb48cae385013655764cec7c4cba044d1e35 100644
--- a/chrome/browser/extensions/api/bluetooth_low_energy/bluetooth_low_energy_apitest.cc
+++ b/chrome/browser/extensions/api/bluetooth_low_energy/bluetooth_low_energy_apitest.cc
@@ -57,7 +57,7 @@ const BluetoothGattCharacteristic::Properties kTestCharacteristicProperties1 =
BluetoothGattCharacteristic::kPropertyNotify;
const uint8 kTestCharacteristicDefaultValue1[] = {0x06, 0x07, 0x08};
-const char kTestCharacteristicId2[] = "char_id1";
+const char kTestCharacteristicId2[] = "char_id2";
const char kTestCharacteristicUuid2[] = "1213";
const BluetoothGattCharacteristic::Properties kTestCharacteristicProperties2 =
BluetoothGattCharacteristic::kPropertyNone;
@@ -367,4 +367,102 @@ IN_PROC_BROWSER_TEST_F(BluetoothLowEnergyApiTest, GetCharacteristics) {
event_router()->DeviceRemoved(mock_adapter_, device_.get());
}
+IN_PROC_BROWSER_TEST_F(BluetoothLowEnergyApiTest, GetCharacteristic) {
+ ResultCatcher catcher;
+ catcher.RestrictToProfile(browser()->profile());
+
+ event_router()->DeviceAdded(mock_adapter_, device_.get());
+ event_router()->GattServiceAdded(device_.get(), service0_.get());
+ event_router()->GattCharacteristicAdded(service0_.get(), chrc0_.get());
+
+ EXPECT_CALL(*mock_adapter_, GetDevice(_))
+ .Times(4)
+ .WillOnce(Return(static_cast<BluetoothDevice*>(NULL)))
+ .WillRepeatedly(Return(device_.get()));
+
+ EXPECT_CALL(*device_, GetGattService(kTestServiceId0))
+ .Times(3)
+ .WillOnce(Return(static_cast<BluetoothGattService*>(NULL)))
+ .WillRepeatedly(Return(service0_.get()));
+
+ EXPECT_CALL(*service0_, GetCharacteristic(kTestCharacteristicId0))
+ .Times(2)
+ .WillOnce(Return(static_cast<BluetoothGattCharacteristic*>(NULL)))
+ .WillOnce(Return(chrc0_.get()));
+
+ // Load the extension and wait for first test.
+ ExtensionTestMessageListener listener("ready", true);
+ ASSERT_TRUE(LoadExtension(
+ test_data_dir_.AppendASCII("bluetooth_low_energy/get_characteristic")));
+ EXPECT_TRUE(listener.WaitUntilSatisfied());
+
+ listener.Reply("go");
+
+ EXPECT_TRUE(catcher.GetNextResult()) << catcher.message();
+
+ event_router()->GattCharacteristicRemoved(service0_.get(), chrc0_.get());
+ event_router()->GattServiceRemoved(device_.get(), service0_.get());
+ event_router()->DeviceRemoved(mock_adapter_, device_.get());
+}
+
+IN_PROC_BROWSER_TEST_F(BluetoothLowEnergyApiTest, CharacteristicProperties) {
+ ResultCatcher catcher;
+ catcher.RestrictToProfile(browser()->profile());
+
+ event_router()->DeviceAdded(mock_adapter_, device_.get());
+ event_router()->GattServiceAdded(device_.get(), service0_.get());
+ event_router()->GattCharacteristicAdded(service0_.get(), chrc0_.get());
+
+ EXPECT_CALL(*mock_adapter_, GetDevice(_))
+ .Times(12)
+ .WillRepeatedly(Return(device_.get()));
+ EXPECT_CALL(*device_, GetGattService(kTestServiceId0))
+ .Times(12)
+ .WillRepeatedly(Return(service0_.get()));
+ EXPECT_CALL(*service0_, GetCharacteristic(kTestCharacteristicId0))
+ .Times(12)
+ .WillRepeatedly(Return(chrc0_.get()));
+ EXPECT_CALL(*chrc0_, GetProperties())
+ .Times(12)
+ .WillOnce(Return(BluetoothGattCharacteristic::kPropertyNone))
+ .WillOnce(Return(BluetoothGattCharacteristic::kPropertyBroadcast))
+ .WillOnce(Return(BluetoothGattCharacteristic::kPropertyRead))
+ .WillOnce(
+ Return(BluetoothGattCharacteristic::kPropertyWriteWithoutResponse))
+ .WillOnce(Return(BluetoothGattCharacteristic::kPropertyWrite))
+ .WillOnce(Return(BluetoothGattCharacteristic::kPropertyNotify))
+ .WillOnce(Return(BluetoothGattCharacteristic::kPropertyIndicate))
+ .WillOnce(Return(
+ BluetoothGattCharacteristic::kPropertyAuthenticatedSignedWrites))
+ .WillOnce(
+ Return(BluetoothGattCharacteristic::kPropertyExtendedProperties))
+ .WillOnce(Return(BluetoothGattCharacteristic::kPropertyReliableWrite))
+ .WillOnce(
+ Return(BluetoothGattCharacteristic::kPropertyWriteableAuxiliaries))
+ .WillOnce(Return(
+ BluetoothGattCharacteristic::kPropertyBroadcast |
+ BluetoothGattCharacteristic::kPropertyRead |
+ BluetoothGattCharacteristic::kPropertyWriteWithoutResponse |
+ BluetoothGattCharacteristic::kPropertyWrite |
+ BluetoothGattCharacteristic::kPropertyNotify |
+ BluetoothGattCharacteristic::kPropertyIndicate |
+ BluetoothGattCharacteristic::kPropertyAuthenticatedSignedWrites |
+ BluetoothGattCharacteristic::kPropertyExtendedProperties |
+ BluetoothGattCharacteristic::kPropertyReliableWrite |
+ BluetoothGattCharacteristic::kPropertyWriteableAuxiliaries));
+
+ ExtensionTestMessageListener listener("ready", true);
+ ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII(
+ "bluetooth_low_energy/characteristic_properties")));
+ EXPECT_TRUE(listener.WaitUntilSatisfied());
+
+ listener.Reply("go");
+
+ EXPECT_TRUE(catcher.GetNextResult()) << catcher.message();
+
+ event_router()->GattCharacteristicRemoved(service0_.get(), chrc0_.get());
+ event_router()->GattServiceRemoved(device_.get(), service0_.get());
+ event_router()->DeviceRemoved(mock_adapter_, device_.get());
+}
+
} // namespace

Powered by Google App Engine
This is Rietveld 408576698