diff options
author | Alex Blasche <alexander.blasche@theqtcompany.com> | 2015-05-27 12:33:05 +0200 |
---|---|---|
committer | Alex Blasche <alexander.blasche@theqtcompany.com> | 2015-05-28 06:32:06 +0000 |
commit | e86249d3d08b5592c6a3d3d86e3119dd1436e816 (patch) | |
tree | e828cf7799502ae1ade5282884e9574a35b2dc26 | |
parent | ca0212b5b80d44db5ddac9d489dd2726718674bf (diff) |
Test Q_DECLARE_OPERATORS_FOR_FLAGS operators
This global operator was added to QBluetoothDeviceInfo
and QLowEnergyService flags.
Change-Id: Ic841cf8c08a2289a9c112dc6283c8891dcc8750e
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | tests/auto/auto.pro | 3 | ||||
-rw-r--r-- | tests/auto/qbluetoothdeviceinfo/tst_qbluetoothdeviceinfo.cpp | 43 | ||||
-rw-r--r-- | tests/auto/qlowenergyservice/qlowenergyservice.pro | 9 | ||||
-rw-r--r-- | tests/auto/qlowenergyservice/tst_qlowenergyservice.cpp | 78 |
5 files changed, 133 insertions, 1 deletions
@@ -56,6 +56,7 @@ tests/auto/qbluetoothuuid/tst_qbluetoothuuid tests/auto/qlowenergycharacteristic/tst_qlowenergycharacteristic tests/auto/qlowenergycontroller/tst_qlowenergycontroller tests/auto/qlowenergydescriptor/tst_qlowenergydescriptor +tests/auto/qlowenergyservice/tst_qlowenergyservice tests/auto/qlowenergyserviceinfo/tst_qlowenergyserviceinfo tests/auto/qndefmessage/tst_qndefmessage tests/auto/qndefnfcsmartposterrecord/tst_qndefnfcsmartposterrecord diff --git a/tests/auto/auto.pro b/tests/auto/auto.pro index a5e66030..9bbf792d 100644 --- a/tests/auto/auto.pro +++ b/tests/auto/auto.pro @@ -19,7 +19,8 @@ qtHaveModule(bluetooth) { qbluetoothserver \ qlowenergycharacteristic \ qlowenergydescriptor \ - qlowenergycontroller + qlowenergycontroller \ + qlowenergyservice } qtHaveModule(nfc) { diff --git a/tests/auto/qbluetoothdeviceinfo/tst_qbluetoothdeviceinfo.cpp b/tests/auto/qbluetoothdeviceinfo/tst_qbluetoothdeviceinfo.cpp index faa0ed39..d5306317 100644 --- a/tests/auto/qbluetoothdeviceinfo/tst_qbluetoothdeviceinfo.cpp +++ b/tests/auto/qbluetoothdeviceinfo/tst_qbluetoothdeviceinfo.cpp @@ -67,6 +67,8 @@ private slots: void tst_serviceUuids(); void tst_cached(); + + void tst_flags(); }; tst_QBluetoothDeviceInfo::tst_QBluetoothDeviceInfo() @@ -477,6 +479,47 @@ void tst_QBluetoothDeviceInfo::tst_cached() QVERIFY(!(deviceInfo.isCached())); } +void tst_QBluetoothDeviceInfo::tst_flags() +{ + QBluetoothDeviceInfo::CoreConfigurations flags1(QBluetoothDeviceInfo::LowEnergyCoreConfiguration); + QBluetoothDeviceInfo::CoreConfigurations flags2(QBluetoothDeviceInfo::BaseRateCoreConfiguration); + QBluetoothDeviceInfo::CoreConfigurations result; + + // test QFlags &operator|=(QFlags f) + result = flags1 | flags2; + QVERIFY(result.testFlag(QBluetoothDeviceInfo::LowEnergyCoreConfiguration)); + QVERIFY(result.testFlag(QBluetoothDeviceInfo::BaseRateCoreConfiguration)); + + // test QFlags &operator|=(Enum f) + result = flags1 | QBluetoothDeviceInfo::BaseRateCoreConfiguration; + QVERIFY(result.testFlag(QBluetoothDeviceInfo::LowEnergyCoreConfiguration)); + QVERIFY(result.testFlag(QBluetoothDeviceInfo::BaseRateCoreConfiguration)); + + // test Q_DECLARE_OPERATORS_FOR_FLAGS(QBluetoothDeviceInfo::CoreConfigurations) + result = QBluetoothDeviceInfo::BaseRateCoreConfiguration | flags1; + QVERIFY(result.testFlag(QBluetoothDeviceInfo::LowEnergyCoreConfiguration)); + QVERIFY(result.testFlag(QBluetoothDeviceInfo::BaseRateCoreConfiguration)); + + QBluetoothDeviceInfo::ServiceClasses serviceFlag1(QBluetoothDeviceInfo::AudioService); + QBluetoothDeviceInfo::ServiceClasses serviceFlag2(QBluetoothDeviceInfo::CapturingService); + QBluetoothDeviceInfo::ServiceClasses serviceResult; + + // test QFlags &operator|=(QFlags f) + serviceResult = serviceFlag1 | serviceFlag2; + QVERIFY(serviceResult.testFlag(QBluetoothDeviceInfo::AudioService)); + QVERIFY(serviceResult.testFlag(QBluetoothDeviceInfo::CapturingService)); + + // test QFlags &operator|=(Enum f) + serviceResult = serviceFlag1 | QBluetoothDeviceInfo::CapturingService; + QVERIFY(serviceResult.testFlag(QBluetoothDeviceInfo::AudioService)); + QVERIFY(serviceResult.testFlag(QBluetoothDeviceInfo::CapturingService)); + + // test Q_DECLARE_OPERATORS_FOR_FLAGS(QBluetoothDeviceInfo::ServiceClasses) + serviceResult = QBluetoothDeviceInfo::CapturingService | serviceFlag1; + QVERIFY(serviceResult.testFlag(QBluetoothDeviceInfo::AudioService)); + QVERIFY(serviceResult.testFlag(QBluetoothDeviceInfo::CapturingService)); +} + QTEST_MAIN(tst_QBluetoothDeviceInfo) #include "tst_qbluetoothdeviceinfo.moc" diff --git a/tests/auto/qlowenergyservice/qlowenergyservice.pro b/tests/auto/qlowenergyservice/qlowenergyservice.pro new file mode 100644 index 00000000..8213155f --- /dev/null +++ b/tests/auto/qlowenergyservice/qlowenergyservice.pro @@ -0,0 +1,9 @@ +SOURCES += tst_qlowenergyservice.cpp +TARGET = tst_qlowenergyservice +CONFIG += testcase + +QT = core bluetooth testlib +blackberry { + LIBS += -lbtapi +} + diff --git a/tests/auto/qlowenergyservice/tst_qlowenergyservice.cpp b/tests/auto/qlowenergyservice/tst_qlowenergyservice.cpp new file mode 100644 index 00000000..4cdcbe8b --- /dev/null +++ b/tests/auto/qlowenergyservice/tst_qlowenergyservice.cpp @@ -0,0 +1,78 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtBluetooth module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL21$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 or version 3 as published by the Free +** Software Foundation and appearing in the file LICENSE.LGPLv21 and +** LICENSE.LGPLv3 included in the packaging of this file. Please review the +** following information to ensure the GNU Lesser General Public License +** requirements will be met: https://www.gnu.org/licenses/lgpl.html and +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** As a special exception, The Qt Company gives you certain additional +** rights. These rights are described in The Qt Company LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include <QtTest/QtTest> + +#include <QtBluetooth/qlowenergyservice.h> + + +/* + * This is a very simple test despite the complexity of QLowEnergyService. + * It mostly aims to test the static API behaviors of the class. The connection + * orientated elements are test by the test for QLowEnergyController as it + * is impossible to test the two classes separately from each other. + */ + +class tst_QLowEnergyService : public QObject +{ + Q_OBJECT + +private slots: + void tst_flags(); +}; + +void tst_QLowEnergyService::tst_flags() +{ + QLowEnergyService::ServiceTypes flag1(QLowEnergyService::PrimaryService); + QLowEnergyService::ServiceTypes flag2(QLowEnergyService::IncludedService); + QLowEnergyService::ServiceTypes result; + + // test QFlags &operator|=(QFlags f) + result = flag1 | flag2; + QVERIFY(result.testFlag(QLowEnergyService::PrimaryService)); + QVERIFY(result.testFlag(QLowEnergyService::IncludedService)); + + // test QFlags &operator|=(Enum f) + result = flag1 | QLowEnergyService::IncludedService; + QVERIFY(result.testFlag(QLowEnergyService::PrimaryService)); + QVERIFY(result.testFlag(QLowEnergyService::IncludedService)); + + // test Q_DECLARE_OPERATORS_FOR_FLAGS(QLowEnergyService::ServiceTypes) + result = QLowEnergyService::IncludedService | flag1; + QVERIFY(result.testFlag(QLowEnergyService::PrimaryService)); + QVERIFY(result.testFlag(QLowEnergyService::IncludedService)); +} + +QTEST_MAIN(tst_QLowEnergyService) + +#include "tst_qlowenergyservice.moc" |