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

Side by Side Diff: device/bluetooth/bluetooth_gatt_chromeos_unittest.cc

Issue 301093003: device/bluetooth: Update characteristic value D-Bus bindings. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixed comments. Created 6 years, 6 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "base/message_loop/message_loop.h" 5 #include "base/message_loop/message_loop.h"
6 #include "base/run_loop.h" 6 #include "base/run_loop.h"
7 #include "chromeos/dbus/fake_bluetooth_adapter_client.h" 7 #include "chromeos/dbus/fake_bluetooth_adapter_client.h"
8 #include "chromeos/dbus/fake_bluetooth_agent_manager_client.h" 8 #include "chromeos/dbus/fake_bluetooth_agent_manager_client.h"
9 #include "chromeos/dbus/fake_bluetooth_device_client.h" 9 #include "chromeos/dbus/fake_bluetooth_device_client.h"
10 #include "chromeos/dbus/fake_bluetooth_gatt_characteristic_client.h" 10 #include "chromeos/dbus/fake_bluetooth_gatt_characteristic_client.h"
(...skipping 788 matching lines...) Expand 10 before | Expand all | Expand 10 after
799 base::Bind(&BluetoothGattChromeOSTest::SuccessCallback, 799 base::Bind(&BluetoothGattChromeOSTest::SuccessCallback,
800 base::Unretained(this)), 800 base::Unretained(this)),
801 base::Bind(&BluetoothGattChromeOSTest::ErrorCallback, 801 base::Bind(&BluetoothGattChromeOSTest::ErrorCallback,
802 base::Unretained(this))); 802 base::Unretained(this)));
803 EXPECT_TRUE(service_observer.last_gatt_characteristic_id_.empty()); 803 EXPECT_TRUE(service_observer.last_gatt_characteristic_id_.empty());
804 EXPECT_FALSE(service_observer.last_gatt_characteristic_uuid_.IsValid()); 804 EXPECT_FALSE(service_observer.last_gatt_characteristic_uuid_.IsValid());
805 EXPECT_EQ(0, success_callback_count_); 805 EXPECT_EQ(0, success_callback_count_);
806 EXPECT_EQ(2, error_callback_count_); 806 EXPECT_EQ(2, error_callback_count_);
807 EXPECT_EQ(3, service_observer.gatt_characteristic_value_changed_count_); 807 EXPECT_EQ(3, service_observer.gatt_characteristic_value_changed_count_);
808 808
809 // Issue write request to writeable characteristic. Writing "1" to the control 809 // Issue write request to writeable characteristic. The "Body Sensor Location"
810 // point characteristic will immediately change its value back to "0", hence 810 // characteristic does not send notifications and WriteValue does not result
811 // sending "ValueChanged" events twice. 811 // in a CharacteristicValueChanged event, thus no such event should be
812 // received.
812 characteristic = service->GetCharacteristic( 813 characteristic = service->GetCharacteristic(
813 fake_bluetooth_gatt_characteristic_client_-> 814 fake_bluetooth_gatt_characteristic_client_->
814 GetHeartRateControlPointPath().value()); 815 GetHeartRateControlPointPath().value());
815 ASSERT_TRUE(characteristic); 816 ASSERT_TRUE(characteristic);
816 EXPECT_EQ(fake_bluetooth_gatt_characteristic_client_-> 817 EXPECT_EQ(fake_bluetooth_gatt_characteristic_client_->
817 GetHeartRateControlPointPath().value(), 818 GetHeartRateControlPointPath().value(),
818 characteristic->GetIdentifier()); 819 characteristic->GetIdentifier());
819 EXPECT_EQ(kHeartRateControlPointUUID, characteristic->GetUUID()); 820 EXPECT_EQ(kHeartRateControlPointUUID, characteristic->GetUUID());
820 characteristic->WriteRemoteCharacteristic( 821 characteristic->WriteRemoteCharacteristic(
821 write_value, 822 write_value,
822 base::Bind(&BluetoothGattChromeOSTest::SuccessCallback, 823 base::Bind(&BluetoothGattChromeOSTest::SuccessCallback,
823 base::Unretained(this)), 824 base::Unretained(this)),
824 base::Bind(&BluetoothGattChromeOSTest::ErrorCallback, 825 base::Bind(&BluetoothGattChromeOSTest::ErrorCallback,
825 base::Unretained(this))); 826 base::Unretained(this)));
826 EXPECT_EQ(characteristic->GetIdentifier(), 827 EXPECT_TRUE(service_observer.last_gatt_characteristic_id_.empty());
827 service_observer.last_gatt_characteristic_id_); 828 EXPECT_FALSE(service_observer.last_gatt_characteristic_uuid_.IsValid());
828 EXPECT_EQ(characteristic->GetUUID(),
829 service_observer.last_gatt_characteristic_uuid_);
830 EXPECT_EQ(1, success_callback_count_); 829 EXPECT_EQ(1, success_callback_count_);
831 EXPECT_EQ(2, error_callback_count_); 830 EXPECT_EQ(2, error_callback_count_);
832 EXPECT_EQ(5, service_observer.gatt_characteristic_value_changed_count_); 831 EXPECT_EQ(3, service_observer.gatt_characteristic_value_changed_count_);
833 832
834 // Issue a read request. 833 // Issue a read request. A successful read results in a
834 // CharacteristicValueChanged notification.
835 characteristic = service->GetCharacteristic( 835 characteristic = service->GetCharacteristic(
836 fake_bluetooth_gatt_characteristic_client_-> 836 fake_bluetooth_gatt_characteristic_client_->
837 GetBodySensorLocationPath().value()); 837 GetBodySensorLocationPath().value());
838 ASSERT_TRUE(characteristic); 838 ASSERT_TRUE(characteristic);
839 EXPECT_EQ(fake_bluetooth_gatt_characteristic_client_-> 839 EXPECT_EQ(fake_bluetooth_gatt_characteristic_client_->
840 GetBodySensorLocationPath().value(), 840 GetBodySensorLocationPath().value(),
841 characteristic->GetIdentifier()); 841 characteristic->GetIdentifier());
842 EXPECT_EQ(kBodySensorLocationUUID, characteristic->GetUUID()); 842 EXPECT_EQ(kBodySensorLocationUUID, characteristic->GetUUID());
843 characteristic->ReadRemoteCharacteristic( 843 characteristic->ReadRemoteCharacteristic(
844 base::Bind(&BluetoothGattChromeOSTest::ValueCallback, 844 base::Bind(&BluetoothGattChromeOSTest::ValueCallback,
845 base::Unretained(this)), 845 base::Unretained(this)),
846 base::Bind(&BluetoothGattChromeOSTest::ErrorCallback, 846 base::Bind(&BluetoothGattChromeOSTest::ErrorCallback,
847 base::Unretained(this))); 847 base::Unretained(this)));
848 EXPECT_EQ(2, success_callback_count_); 848 EXPECT_EQ(2, success_callback_count_);
849 EXPECT_EQ(2, error_callback_count_); 849 EXPECT_EQ(2, error_callback_count_);
850 EXPECT_EQ(5, service_observer.gatt_characteristic_value_changed_count_); 850 EXPECT_EQ(4, service_observer.gatt_characteristic_value_changed_count_);
851 EXPECT_TRUE(ValuesEqual(characteristic->GetValue(), last_read_value_)); 851 EXPECT_TRUE(ValuesEqual(characteristic->GetValue(), last_read_value_));
852 852
853 // One last value changed notification. 853 // One last value changed notification.
854 base::MessageLoop::current()->Run(); 854 base::MessageLoop::current()->Run();
855 EXPECT_EQ(6, service_observer.gatt_characteristic_value_changed_count_); 855 EXPECT_EQ(5, service_observer.gatt_characteristic_value_changed_count_);
856 EXPECT_EQ(kHeartRateMeasurementUUID, 856 EXPECT_EQ(kHeartRateMeasurementUUID,
857 service_observer.last_gatt_characteristic_uuid_); 857 service_observer.last_gatt_characteristic_uuid_);
858 EXPECT_EQ(fake_bluetooth_gatt_characteristic_client_-> 858 EXPECT_EQ(fake_bluetooth_gatt_characteristic_client_->
859 GetHeartRateMeasurementPath().value(), 859 GetHeartRateMeasurementPath().value(),
860 service_observer.last_gatt_characteristic_id_); 860 service_observer.last_gatt_characteristic_id_);
861 } 861 }
862 862
863 TEST_F(BluetoothGattChromeOSTest, GattDescriptorValue) { 863 TEST_F(BluetoothGattChromeOSTest, GattDescriptorValue) {
864 fake_bluetooth_device_client_->CreateDevice( 864 fake_bluetooth_device_client_->CreateDevice(
865 dbus::ObjectPath(FakeBluetoothAdapterClient::kAdapterPath), 865 dbus::ObjectPath(FakeBluetoothAdapterClient::kAdapterPath),
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
944 base::Unretained(this))); 944 base::Unretained(this)));
945 EXPECT_EQ(3, success_callback_count_); 945 EXPECT_EQ(3, success_callback_count_);
946 EXPECT_EQ(0, error_callback_count_); 946 EXPECT_EQ(0, error_callback_count_);
947 EXPECT_TRUE(ValuesEqual(last_read_value_, descriptor->GetValue())); 947 EXPECT_TRUE(ValuesEqual(last_read_value_, descriptor->GetValue()));
948 EXPECT_TRUE(ValuesEqual(desc_value, descriptor->GetValue())); 948 EXPECT_TRUE(ValuesEqual(desc_value, descriptor->GetValue()));
949 EXPECT_EQ(4, service_observer.gatt_service_changed_count_); 949 EXPECT_EQ(4, service_observer.gatt_service_changed_count_);
950 EXPECT_EQ(1, service_observer.gatt_descriptor_value_changed_count_); 950 EXPECT_EQ(1, service_observer.gatt_descriptor_value_changed_count_);
951 } 951 }
952 952
953 } // namespace chromeos 953 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698