| Index: device/bluetooth/test/bluetooth_gatt_server_test.cc
|
| diff --git a/device/bluetooth/test/bluetooth_gatt_server_test.cc b/device/bluetooth/test/bluetooth_gatt_server_test.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..430f6497aec610df69e5aad78b902ab55ba3564e
|
| --- /dev/null
|
| +++ b/device/bluetooth/test/bluetooth_gatt_server_test.cc
|
| @@ -0,0 +1,79 @@
|
| +// Copyright 2016 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#include "device/bluetooth/test/bluetooth_gatt_server_test.h"
|
| +
|
| +#include "base/logging.h"
|
| +#include "base/memory/ptr_util.h"
|
| +#include "base/memory/ref_counted.h"
|
| +#include "device/bluetooth/bluetooth_uuid.h"
|
| +#include "device/bluetooth/test/bluetooth_test.h"
|
| +
|
| +namespace device {
|
| +
|
| +BluetoothGattServerTest::BluetoothGattServerTest() {}
|
| +
|
| +BluetoothGattServerTest::~BluetoothGattServerTest() {}
|
| +
|
| +void BluetoothGattServerTest::StartGattSetup() {
|
| + InitWithFakeAdapter();
|
| + delegate_ = base::WrapUnique(new TestBluetoothLocalGattServiceDelegate());
|
| + service_ = BluetoothLocalGattService::Create(
|
| + adapter_.get(), BluetoothUUID(kTestUUIDGenericAttribute), true, nullptr,
|
| + delegate_.get());
|
| + delegate_->set_expected_service(service_.get());
|
| +}
|
| +
|
| +void BluetoothGattServerTest::CompleteGattSetup() {
|
| + service_->Register(GetCallback(Call::EXPECTED),
|
| + GetGattErrorCallback(Call::NOT_EXPECTED));
|
| + EXPECT_EQ(1, callback_count_);
|
| + EXPECT_EQ(0, error_callback_count_);
|
| +}
|
| +
|
| +void BluetoothGattServerTest::SetUp() {
|
| + BluetoothTest::SetUp();
|
| +
|
| + last_read_value_ = std::vector<uint8_t>();
|
| +}
|
| +
|
| +void BluetoothGattServerTest::TearDown() {
|
| + int callback_count = callback_count_;
|
| + int error_callback_count = error_callback_count_;
|
| + service_->Unregister(GetCallback(Call::EXPECTED),
|
| + GetGattErrorCallback(Call::NOT_EXPECTED));
|
| + EXPECT_EQ(callback_count + 1, callback_count_);
|
| + EXPECT_EQ(error_callback_count, error_callback_count_);
|
| +
|
| + delegate_ = nullptr;
|
| +
|
| + BluetoothTest::TearDown();
|
| +}
|
| +
|
| +// static
|
| +uint64_t BluetoothGattServerTest::GetInteger(
|
| + const std::vector<uint8_t>& value) {
|
| + // Handling only up to 4 bytes value for tests.
|
| + CHECK_LE(value.size(), 4u);
|
| + uint64_t int_value = 0;
|
| + uint64_t powers_of_256 = 1;
|
| + for (uint8_t v : value) {
|
| + int_value += v * powers_of_256;
|
| + powers_of_256 *= 256;
|
| + }
|
| + return int_value;
|
| +}
|
| +
|
| +// static
|
| +std::vector<uint8_t> BluetoothGattServerTest::GetValue(uint64_t int_value) {
|
| + CHECK_LE(int_value, 0xFFFFFFFFul);
|
| + std::vector<uint8_t> value;
|
| + while (int_value) {
|
| + value.push_back(int_value & 0xff);
|
| + int_value >>= 8;
|
| + }
|
| + return value;
|
| +}
|
| +
|
| +} // namespace device
|
|
|