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

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

Issue 309623002: device/bluetooth: Update GATT descriptor value D-Bus bindings. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixed clang error 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 926 matching lines...) Expand 10 before | Expand all | Expand 10 after
937 GetHeartRateMeasurementPath().value()); 937 GetHeartRateMeasurementPath().value());
938 ASSERT_TRUE(characteristic); 938 ASSERT_TRUE(characteristic);
939 EXPECT_EQ(1U, characteristic->GetDescriptors().size()); 939 EXPECT_EQ(1U, characteristic->GetDescriptors().size());
940 940
941 BluetoothGattDescriptor* descriptor = characteristic->GetDescriptors()[0]; 941 BluetoothGattDescriptor* descriptor = characteristic->GetDescriptors()[0];
942 EXPECT_FALSE(descriptor->IsLocal()); 942 EXPECT_FALSE(descriptor->IsLocal());
943 EXPECT_EQ(BluetoothGattDescriptor::ClientCharacteristicConfigurationUuid(), 943 EXPECT_EQ(BluetoothGattDescriptor::ClientCharacteristicConfigurationUuid(),
944 descriptor->GetUUID()); 944 descriptor->GetUUID());
945 945
946 std::vector<uint8> desc_value; 946 std::vector<uint8> desc_value;
947 desc_value.push_back(1);
947 desc_value.push_back(0); 948 desc_value.push_back(0);
948 desc_value.push_back(0); 949
949 EXPECT_TRUE(ValuesEqual(desc_value, descriptor->GetValue())); 950 /* The cached value will be empty until the first read request */
951 EXPECT_FALSE(ValuesEqual(desc_value, descriptor->GetValue()));
952 EXPECT_TRUE(descriptor->GetValue().empty());
950 953
951 EXPECT_EQ(0, success_callback_count_); 954 EXPECT_EQ(0, success_callback_count_);
952 EXPECT_EQ(0, error_callback_count_); 955 EXPECT_EQ(0, error_callback_count_);
953 EXPECT_TRUE(last_read_value_.empty()); 956 EXPECT_TRUE(last_read_value_.empty());
954 957
955 // Read value. 958 // Read value. GattDescriptorValueChanged event will be sent after a
959 // successful read.
956 descriptor->ReadRemoteDescriptor( 960 descriptor->ReadRemoteDescriptor(
957 base::Bind(&BluetoothGattChromeOSTest::ValueCallback, 961 base::Bind(&BluetoothGattChromeOSTest::ValueCallback,
958 base::Unretained(this)), 962 base::Unretained(this)),
959 base::Bind(&BluetoothGattChromeOSTest::ErrorCallback, 963 base::Bind(&BluetoothGattChromeOSTest::ErrorCallback,
960 base::Unretained(this))); 964 base::Unretained(this)));
961 EXPECT_EQ(1, success_callback_count_); 965 EXPECT_EQ(1, success_callback_count_);
962 EXPECT_EQ(0, error_callback_count_); 966 EXPECT_EQ(0, error_callback_count_);
963 EXPECT_TRUE(ValuesEqual(last_read_value_, descriptor->GetValue())); 967 EXPECT_TRUE(ValuesEqual(last_read_value_, descriptor->GetValue()));
968 EXPECT_TRUE(ValuesEqual(desc_value, descriptor->GetValue()));
964 EXPECT_EQ(4, service_observer.gatt_service_changed_count_); 969 EXPECT_EQ(4, service_observer.gatt_service_changed_count_);
965 EXPECT_EQ(0, service_observer.gatt_descriptor_value_changed_count_); 970 EXPECT_EQ(1, service_observer.gatt_descriptor_value_changed_count_);
966 971
967 // Write value. 972 // Write value. Writes to this descriptor will fail.
968 desc_value[0] = 0x03; 973 desc_value[0] = 0x03;
969 descriptor->WriteRemoteDescriptor( 974 descriptor->WriteRemoteDescriptor(
970 desc_value, 975 desc_value,
971 base::Bind(&BluetoothGattChromeOSTest::SuccessCallback, 976 base::Bind(&BluetoothGattChromeOSTest::SuccessCallback,
972 base::Unretained(this)), 977 base::Unretained(this)),
973 base::Bind(&BluetoothGattChromeOSTest::ErrorCallback, 978 base::Bind(&BluetoothGattChromeOSTest::ErrorCallback,
974 base::Unretained(this))); 979 base::Unretained(this)));
975 EXPECT_EQ(2, success_callback_count_); 980 EXPECT_EQ(1, success_callback_count_);
976 EXPECT_EQ(0, error_callback_count_); 981 EXPECT_EQ(1, error_callback_count_);
977 EXPECT_FALSE(ValuesEqual(last_read_value_, descriptor->GetValue())); 982 EXPECT_TRUE(ValuesEqual(last_read_value_, descriptor->GetValue()));
978 EXPECT_TRUE(ValuesEqual(desc_value, descriptor->GetValue())); 983 EXPECT_FALSE(ValuesEqual(desc_value, descriptor->GetValue()));
979 EXPECT_EQ(4, service_observer.gatt_service_changed_count_); 984 EXPECT_EQ(4, service_observer.gatt_service_changed_count_);
980 EXPECT_EQ(1, service_observer.gatt_descriptor_value_changed_count_); 985 EXPECT_EQ(1, service_observer.gatt_descriptor_value_changed_count_);
981 986
982 // Read new value. 987 // Read new value.
983 descriptor->ReadRemoteDescriptor( 988 descriptor->ReadRemoteDescriptor(
984 base::Bind(&BluetoothGattChromeOSTest::ValueCallback, 989 base::Bind(&BluetoothGattChromeOSTest::ValueCallback,
985 base::Unretained(this)), 990 base::Unretained(this)),
986 base::Bind(&BluetoothGattChromeOSTest::ErrorCallback, 991 base::Bind(&BluetoothGattChromeOSTest::ErrorCallback,
987 base::Unretained(this))); 992 base::Unretained(this)));
988 EXPECT_EQ(3, success_callback_count_); 993 EXPECT_EQ(2, success_callback_count_);
989 EXPECT_EQ(0, error_callback_count_); 994 EXPECT_EQ(1, error_callback_count_);
990 EXPECT_TRUE(ValuesEqual(last_read_value_, descriptor->GetValue())); 995 EXPECT_TRUE(ValuesEqual(last_read_value_, descriptor->GetValue()));
991 EXPECT_TRUE(ValuesEqual(desc_value, descriptor->GetValue())); 996 EXPECT_FALSE(ValuesEqual(desc_value, descriptor->GetValue()));
992 EXPECT_EQ(4, service_observer.gatt_service_changed_count_); 997 EXPECT_EQ(4, service_observer.gatt_service_changed_count_);
993 EXPECT_EQ(1, service_observer.gatt_descriptor_value_changed_count_); 998 EXPECT_EQ(2, service_observer.gatt_descriptor_value_changed_count_);
994 } 999 }
995 1000
996 } // namespace chromeos 1001 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698