| OLD | NEW |
| 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 883 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 894 GetHeartRateMeasurementPath().value()); | 894 GetHeartRateMeasurementPath().value()); |
| 895 ASSERT_TRUE(characteristic); | 895 ASSERT_TRUE(characteristic); |
| 896 EXPECT_EQ(1U, characteristic->GetDescriptors().size()); | 896 EXPECT_EQ(1U, characteristic->GetDescriptors().size()); |
| 897 | 897 |
| 898 BluetoothGattDescriptor* descriptor = characteristic->GetDescriptors()[0]; | 898 BluetoothGattDescriptor* descriptor = characteristic->GetDescriptors()[0]; |
| 899 EXPECT_FALSE(descriptor->IsLocal()); | 899 EXPECT_FALSE(descriptor->IsLocal()); |
| 900 EXPECT_EQ(BluetoothGattDescriptor::ClientCharacteristicConfigurationUuid(), | 900 EXPECT_EQ(BluetoothGattDescriptor::ClientCharacteristicConfigurationUuid(), |
| 901 descriptor->GetUUID()); | 901 descriptor->GetUUID()); |
| 902 | 902 |
| 903 std::vector<uint8> desc_value; | 903 std::vector<uint8> desc_value; |
| 904 desc_value.push_back(1); |
| 904 desc_value.push_back(0); | 905 desc_value.push_back(0); |
| 905 desc_value.push_back(0); | 906 |
| 906 EXPECT_TRUE(ValuesEqual(desc_value, descriptor->GetValue())); | 907 /* The cached value will be empty until the first read request */ |
| 908 EXPECT_FALSE(ValuesEqual(desc_value, descriptor->GetValue())); |
| 909 EXPECT_TRUE(descriptor->GetValue().empty()); |
| 907 | 910 |
| 908 EXPECT_EQ(0, success_callback_count_); | 911 EXPECT_EQ(0, success_callback_count_); |
| 909 EXPECT_EQ(0, error_callback_count_); | 912 EXPECT_EQ(0, error_callback_count_); |
| 910 EXPECT_TRUE(last_read_value_.empty()); | 913 EXPECT_TRUE(last_read_value_.empty()); |
| 911 | 914 |
| 912 // Read value. | 915 // Read value. GattDescriptorValueChanged event will be sent after a |
| 916 // successful read. |
| 913 descriptor->ReadRemoteDescriptor( | 917 descriptor->ReadRemoteDescriptor( |
| 914 base::Bind(&BluetoothGattChromeOSTest::ValueCallback, | 918 base::Bind(&BluetoothGattChromeOSTest::ValueCallback, |
| 915 base::Unretained(this)), | 919 base::Unretained(this)), |
| 916 base::Bind(&BluetoothGattChromeOSTest::ErrorCallback, | 920 base::Bind(&BluetoothGattChromeOSTest::ErrorCallback, |
| 917 base::Unretained(this))); | 921 base::Unretained(this))); |
| 918 EXPECT_EQ(1, success_callback_count_); | 922 EXPECT_EQ(1, success_callback_count_); |
| 919 EXPECT_EQ(0, error_callback_count_); | 923 EXPECT_EQ(0, error_callback_count_); |
| 920 EXPECT_TRUE(ValuesEqual(last_read_value_, descriptor->GetValue())); | 924 EXPECT_TRUE(ValuesEqual(last_read_value_, descriptor->GetValue())); |
| 925 EXPECT_TRUE(ValuesEqual(desc_value, descriptor->GetValue())); |
| 921 EXPECT_EQ(4, service_observer.gatt_service_changed_count_); | 926 EXPECT_EQ(4, service_observer.gatt_service_changed_count_); |
| 922 EXPECT_EQ(0, service_observer.gatt_descriptor_value_changed_count_); | 927 EXPECT_EQ(1, service_observer.gatt_descriptor_value_changed_count_); |
| 923 | 928 |
| 924 // Write value. | 929 // Write value. Writes to this descriptor will fail. |
| 925 desc_value[0] = 0x03; | 930 desc_value[0] = 0x03; |
| 926 descriptor->WriteRemoteDescriptor( | 931 descriptor->WriteRemoteDescriptor( |
| 927 desc_value, | 932 desc_value, |
| 928 base::Bind(&BluetoothGattChromeOSTest::SuccessCallback, | 933 base::Bind(&BluetoothGattChromeOSTest::SuccessCallback, |
| 929 base::Unretained(this)), | 934 base::Unretained(this)), |
| 930 base::Bind(&BluetoothGattChromeOSTest::ErrorCallback, | 935 base::Bind(&BluetoothGattChromeOSTest::ErrorCallback, |
| 931 base::Unretained(this))); | 936 base::Unretained(this))); |
| 932 EXPECT_EQ(2, success_callback_count_); | 937 EXPECT_EQ(1, success_callback_count_); |
| 933 EXPECT_EQ(0, error_callback_count_); | 938 EXPECT_EQ(1, error_callback_count_); |
| 934 EXPECT_FALSE(ValuesEqual(last_read_value_, descriptor->GetValue())); | 939 EXPECT_TRUE(ValuesEqual(last_read_value_, descriptor->GetValue())); |
| 935 EXPECT_TRUE(ValuesEqual(desc_value, descriptor->GetValue())); | 940 EXPECT_FALSE(ValuesEqual(desc_value, descriptor->GetValue())); |
| 936 EXPECT_EQ(4, service_observer.gatt_service_changed_count_); | 941 EXPECT_EQ(4, service_observer.gatt_service_changed_count_); |
| 937 EXPECT_EQ(1, service_observer.gatt_descriptor_value_changed_count_); | 942 EXPECT_EQ(1, service_observer.gatt_descriptor_value_changed_count_); |
| 938 | 943 |
| 939 // Read new value. | 944 // Read new value. |
| 940 descriptor->ReadRemoteDescriptor( | 945 descriptor->ReadRemoteDescriptor( |
| 941 base::Bind(&BluetoothGattChromeOSTest::ValueCallback, | 946 base::Bind(&BluetoothGattChromeOSTest::ValueCallback, |
| 942 base::Unretained(this)), | 947 base::Unretained(this)), |
| 943 base::Bind(&BluetoothGattChromeOSTest::ErrorCallback, | 948 base::Bind(&BluetoothGattChromeOSTest::ErrorCallback, |
| 944 base::Unretained(this))); | 949 base::Unretained(this))); |
| 945 EXPECT_EQ(3, success_callback_count_); | 950 EXPECT_EQ(2, success_callback_count_); |
| 946 EXPECT_EQ(0, error_callback_count_); | 951 EXPECT_EQ(1, error_callback_count_); |
| 947 EXPECT_TRUE(ValuesEqual(last_read_value_, descriptor->GetValue())); | 952 EXPECT_TRUE(ValuesEqual(last_read_value_, descriptor->GetValue())); |
| 948 EXPECT_TRUE(ValuesEqual(desc_value, descriptor->GetValue())); | 953 EXPECT_FALSE(ValuesEqual(desc_value, descriptor->GetValue())); |
| 949 EXPECT_EQ(4, service_observer.gatt_service_changed_count_); | 954 EXPECT_EQ(4, service_observer.gatt_service_changed_count_); |
| 950 EXPECT_EQ(1, service_observer.gatt_descriptor_value_changed_count_); | 955 EXPECT_EQ(2, service_observer.gatt_descriptor_value_changed_count_); |
| 951 } | 956 } |
| 952 | 957 |
| 953 } // namespace chromeos | 958 } // namespace chromeos |
| OLD | NEW |