diff options
author | Alex Blasche <alexander.blasche@digia.com> | 2014-02-06 13:03:58 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-02-07 08:40:16 +0100 |
commit | 477d9f450a1e9767dbf10f4c040e994231674a1f (patch) | |
tree | 2f475fd94d9f5e4e20bf79c5296c0f3fc492fd8d /tests/auto/qbluetoothserviceinfo/tst_qbluetoothserviceinfo.cpp | |
parent | 7d4f4c3083d565af00f1564ae80e5cbfbc338bd5 (diff) |
Fix broken QBluetoothServiceInfo::serviceClassUuids() call
It never returned a valid entry due to wrong QVariant conversion.
The patch changes the public header with a potential to break BC. A
formerly inline function was reimplemented and is no longer inline.
This should be safe though as older header versions can still use
the previous implementation.
Change-Id: If786a366e625a56810b8d4cc682b25d07f72f4e5
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
Diffstat (limited to 'tests/auto/qbluetoothserviceinfo/tst_qbluetoothserviceinfo.cpp')
-rw-r--r-- | tests/auto/qbluetoothserviceinfo/tst_qbluetoothserviceinfo.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/auto/qbluetoothserviceinfo/tst_qbluetoothserviceinfo.cpp b/tests/auto/qbluetoothserviceinfo/tst_qbluetoothserviceinfo.cpp index 62550622..2195bc0e 100644 --- a/tests/auto/qbluetoothserviceinfo/tst_qbluetoothserviceinfo.cpp +++ b/tests/auto/qbluetoothserviceinfo/tst_qbluetoothserviceinfo.cpp @@ -71,6 +71,8 @@ private slots: void tst_assignment_data(); void tst_assignment(); + + void tst_serviceClassUuids(); }; tst_QBluetoothServiceInfo::tst_QBluetoothServiceInfo() @@ -329,6 +331,27 @@ void tst_QBluetoothServiceInfo::tst_assignment() } } +void tst_QBluetoothServiceInfo::tst_serviceClassUuids() +{ + QBluetoothServiceInfo info; + QCOMPARE(info.serviceClassUuids().count(), 0); + + QBluetoothServiceInfo::Sequence classIds; + classIds << QVariant::fromValue(QBluetoothUuid(QBluetoothUuid::SerialPort)); + QCOMPARE(classIds.count(), 1); + + QBluetoothUuid uuid(QString("e8e10f95-1a70-4b27-9ccf-02010264e9c8")); + classIds.prepend(QVariant::fromValue(uuid)); + QCOMPARE(classIds.count(), 2); + QCOMPARE(classIds.at(0).value<QBluetoothUuid>(), uuid); + + info.setAttribute(QBluetoothServiceInfo::ServiceClassIds, classIds); + QList<QBluetoothUuid> svclids = info.serviceClassUuids(); + QCOMPARE(svclids.count(), 2); + QCOMPARE(svclids.at(0), uuid); + QCOMPARE(svclids.at(1), QBluetoothUuid(QBluetoothUuid::SerialPort)); +} + QTEST_MAIN(tst_QBluetoothServiceInfo) #include "tst_qbluetoothserviceinfo.moc" |