summaryrefslogtreecommitdiffstats
path: root/tests/auto/qbluetoothlocaldevice
diff options
context:
space:
mode:
authorMichael Zanetti <michael.zanetti@nokia.com>2011-09-07 12:02:00 +0200
committerQt by Nokia <qt-info@nokia.com>2011-10-07 03:31:39 +0200
commitbd4df1e8e148cee77f76830a43ddc044b7a6903c (patch)
treec6a5aedafa2670e0b193843bd0271306eefdecd7 /tests/auto/qbluetoothlocaldevice
parent5788b49130e1b2648beab531016d1e61cf3d5444 (diff)
re-added autotests
Change-Id: Ic2be21fd11e2fdb96185fe9269cebbe08b6de87a Reviewed-on: http://codereview.qt-project.org/4783 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Alex <alex.blasche@nokia.com>
Diffstat (limited to 'tests/auto/qbluetoothlocaldevice')
-rw-r--r--tests/auto/qbluetoothlocaldevice/qbluetoothlocaldevice.pro7
-rw-r--r--tests/auto/qbluetoothlocaldevice/tst_qbluetoothlocaldevice.cpp284
2 files changed, 291 insertions, 0 deletions
diff --git a/tests/auto/qbluetoothlocaldevice/qbluetoothlocaldevice.pro b/tests/auto/qbluetoothlocaldevice/qbluetoothlocaldevice.pro
new file mode 100644
index 00000000..b9e8e367
--- /dev/null
+++ b/tests/auto/qbluetoothlocaldevice/qbluetoothlocaldevice.pro
@@ -0,0 +1,7 @@
+SOURCES += tst_qbluetoothlocaldevice.cpp
+TARGET=tst_qbluetoothlocaldevice
+CONFIG += testcase
+
+QT = core bluetooth testlib
+
+symbian: TARGET.CAPABILITY = ReadDeviceData LocalServices WriteDeviceData NetworkControl
diff --git a/tests/auto/qbluetoothlocaldevice/tst_qbluetoothlocaldevice.cpp b/tests/auto/qbluetoothlocaldevice/tst_qbluetoothlocaldevice.cpp
new file mode 100644
index 00000000..6f2404ef
--- /dev/null
+++ b/tests/auto/qbluetoothlocaldevice/tst_qbluetoothlocaldevice.cpp
@@ -0,0 +1,284 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt Mobility Components.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this
+** file. Please review the following information to ensure the GNU Lesser
+** General Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file. Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtTest/QtTest>
+
+#include <QDebug>
+#include <QVariant>
+
+#include <qbluetoothaddress.h>
+#include <qbluetoothlocaldevice.h>
+
+#define WAIT_FOR_CONDITION(a,e) \
+ for (int _i = 0; _i < 5000; _i += 1) { \
+ if ((a) == (e)) break; \
+ QTest::qWait(100);}
+
+class tst_QBluetoothLocalDevice : public QObject
+{
+ Q_OBJECT
+
+public:
+ tst_QBluetoothLocalDevice();
+ ~tst_QBluetoothLocalDevice();
+
+private slots:
+ void tst_powerOn();
+ void tst_powerOff();
+ void tst_hostModes();
+ void tst_hostModes_data();
+ void tst_address();
+ void tst_name();
+ void tst_isValid();
+ void tst_allDevices();
+ void tst_construction();
+ void tst_pairingStatus_data();
+ void tst_pairingStatus();
+ void tst_pairDevice_data();
+ void tst_pairDevice();
+};
+
+tst_QBluetoothLocalDevice::tst_QBluetoothLocalDevice()
+{
+ // start with host powered off
+ QBluetoothLocalDevice *device = new QBluetoothLocalDevice();
+ device->setHostMode(QBluetoothLocalDevice::HostPoweredOff);
+ delete device;
+ // wait for the device to switch bluetooth mode.
+ QTest::qWait(1000);
+
+}
+
+tst_QBluetoothLocalDevice::~tst_QBluetoothLocalDevice()
+{
+}
+
+void tst_QBluetoothLocalDevice::tst_hostModes_data()
+{
+ QTest::addColumn<QBluetoothLocalDevice::HostMode>("hostModeExpected");
+
+ QTest::newRow("HostDiscoverable") << QBluetoothLocalDevice::HostDiscoverable;
+ QTest::newRow("HostPoweredOff") << QBluetoothLocalDevice::HostPoweredOff;
+ QTest::newRow("HostConnectable") << QBluetoothLocalDevice::HostConnectable;
+ QTest::newRow("HostPoweredOff") << QBluetoothLocalDevice::HostPoweredOff;
+ QTest::newRow("HostDiscoverable") << QBluetoothLocalDevice::HostDiscoverable;
+
+}
+void tst_QBluetoothLocalDevice::tst_pairDevice_data()
+{
+ QTest::addColumn<QBluetoothAddress>("deviceAddress");
+ QTest::addColumn<QBluetoothLocalDevice::Pairing>("pairingExpected");
+
+ QTest::newRow("UnPaired Device: DUMMY") << QBluetoothAddress("11:00:00:00:00:00")
+ << QBluetoothLocalDevice::Unpaired;
+#ifdef Q_OS_SYMBIAN
+
+ QTest::newRow("unPAIRED Device: J X6") << QBluetoothAddress("d8:75:33:6a:82:85")
+ << QBluetoothLocalDevice::Unpaired;
+ QTest::newRow("AuthPAIRED Device: J X6") << QBluetoothAddress("d8:75:33:6a:82:85")
+ << QBluetoothLocalDevice::AuthorizedPaired;
+ QTest::newRow("PAIRED Device: J C-7-1") << QBluetoothAddress("6c:9b:02:0c:91:ca")
+ << QBluetoothLocalDevice::Paired;
+
+#endif // Q_OS_SYMBIAN
+}
+
+void tst_QBluetoothLocalDevice::tst_pairingStatus_data()
+{
+ QTest::addColumn<QBluetoothAddress>("deviceAddress");
+ QTest::addColumn<QBluetoothLocalDevice::Pairing>("pairingExpected");
+
+ QTest::newRow("UnPaired Device: DUMMY") << QBluetoothAddress("11:00:00:00:00:00")
+ << QBluetoothLocalDevice::Unpaired;
+#ifdef Q_OS_SYMBIAN
+ QTest::newRow("PAIRED Device: J X6") << QBluetoothAddress("d8:75:33:6a:82:85")
+ << QBluetoothLocalDevice::Paired;
+ QTest::newRow("AuthPAIRED Device: J C-7-1") << QBluetoothAddress("6c:9b:02:0c:91:ca")
+ << QBluetoothLocalDevice::AuthorizedPaired;
+#endif // Q_OS_SYMBIAN
+}
+
+void tst_QBluetoothLocalDevice::tst_powerOn()
+{
+ {
+ QBluetoothLocalDevice localDevice;
+
+ QSignalSpy hostModeSpy(&localDevice, SIGNAL(hostModeStateChanged(QBluetoothLocalDevice::HostMode)));
+ // there should be no changes yet
+ QVERIFY(hostModeSpy.isEmpty());
+
+ localDevice.powerOn();
+ // async, wait for it
+ WAIT_FOR_CONDITION(hostModeSpy.count(),1);
+ QVERIFY(hostModeSpy.count() > 0);
+ QBluetoothLocalDevice::HostMode hostMode= localDevice.hostMode();
+ // we should not be powered off
+ QVERIFY(hostMode == QBluetoothLocalDevice::HostConnectable
+ || hostMode == QBluetoothLocalDevice::HostDiscoverable);
+ }
+
+}
+void tst_QBluetoothLocalDevice::tst_powerOff()
+{
+ {
+ QBluetoothLocalDevice *device = new QBluetoothLocalDevice();
+ device->powerOn();
+ delete device;
+ // wait for the device to switch bluetooth mode.
+ QTest::qWait(1000);
+ }
+ QBluetoothLocalDevice localDevice;
+ QSignalSpy hostModeSpy(&localDevice, SIGNAL(hostModeStateChanged(QBluetoothLocalDevice::HostMode)));
+ // there should be no changes yet
+ QVERIFY(hostModeSpy.isEmpty());
+
+ localDevice.setHostMode(QBluetoothLocalDevice::HostPoweredOff);
+ // async, wait for it
+ WAIT_FOR_CONDITION(hostModeSpy.count(),1);
+ QVERIFY(hostModeSpy.count() > 0);
+ // we should not be powered off
+ QVERIFY(localDevice.hostMode() == QBluetoothLocalDevice::HostPoweredOff);
+
+}
+
+void tst_QBluetoothLocalDevice::tst_hostModes()
+{
+ QFETCH(QBluetoothLocalDevice::HostMode, hostModeExpected);
+
+ QBluetoothLocalDevice localDevice;
+ QSignalSpy hostModeSpy(&localDevice, SIGNAL(hostModeStateChanged(QBluetoothLocalDevice::HostMode)));
+ // there should be no changes yet
+ QVERIFY(hostModeSpy.isEmpty());
+
+ QTest::qWait(1000);
+
+ localDevice.setHostMode(hostModeExpected);
+ // wait for the device to switch bluetooth mode.
+ QTest::qWait(1000);
+ if (hostModeExpected != localDevice.hostMode()) {
+ WAIT_FOR_CONDITION(hostModeSpy.count(),1);
+ QVERIFY(hostModeSpy.count() > 0);
+ }
+ // test the actual signal values.
+ QList<QVariant> arguments = hostModeSpy.takeFirst();
+ QBluetoothLocalDevice::HostMode hostMode = qvariant_cast<QBluetoothLocalDevice::HostMode>(arguments.at(0));
+ QCOMPARE(hostModeExpected, hostMode);
+ // test actual
+ QCOMPARE(hostModeExpected, localDevice.hostMode());
+}
+
+void tst_QBluetoothLocalDevice::tst_address()
+{
+ QBluetoothLocalDevice localDevice;
+ QVERIFY(!localDevice.address().toString().isEmpty());
+}
+void tst_QBluetoothLocalDevice::tst_name()
+{
+ QBluetoothLocalDevice localDevice;
+ QVERIFY(!localDevice.name().isEmpty());
+}
+void tst_QBluetoothLocalDevice::tst_isValid()
+{
+ QBluetoothLocalDevice localDevice;
+ QVERIFY(localDevice.isValid());
+}
+void tst_QBluetoothLocalDevice::tst_allDevices()
+{
+ // we should have one local bluetooth device
+ QVERIFY(QBluetoothLocalDevice::allDevices().count() == 1);
+}
+void tst_QBluetoothLocalDevice::tst_construction()
+{
+ QBluetoothLocalDevice localDevice;
+ QVERIFY(localDevice.isValid());
+
+ QBluetoothLocalDevice anotherDevice(QBluetoothAddress(000000000000));
+ QVERIFY(anotherDevice.isValid());
+ QVERIFY(anotherDevice.address().toUInt64() != 0);
+
+}
+
+void tst_QBluetoothLocalDevice::tst_pairDevice()
+{
+ QFETCH(QBluetoothAddress, deviceAddress);
+ QFETCH(QBluetoothLocalDevice::Pairing, pairingExpected);
+
+ qDebug() << "tst_pairDevice(): address=" << deviceAddress.toString() << "pairingModeExpected="
+ << static_cast<int>(pairingExpected);
+
+ QBluetoothLocalDevice localDevice;
+ //powerOn if not already
+ localDevice.powerOn();
+
+ QSignalSpy pairingSpy(&localDevice, SIGNAL(pairingFinished(const QBluetoothAddress &,QBluetoothLocalDevice::Pairing)) );
+ // there should be no signals yet
+ QVERIFY(pairingSpy.isEmpty());
+
+ localDevice.requestPairing(deviceAddress, pairingExpected);
+ // async, wait for it
+ WAIT_FOR_CONDITION(pairingSpy.count(),1);
+ QVERIFY(pairingSpy.count() > 0);
+
+ // test the actual signal values.
+ QList<QVariant> arguments = pairingSpy.takeFirst();
+ QBluetoothAddress address = qvariant_cast<QBluetoothAddress>(arguments.at(0));
+ QBluetoothLocalDevice::Pairing pairingResult = qvariant_cast<QBluetoothLocalDevice::Pairing>(arguments.at(1));
+ QCOMPARE(deviceAddress, address);
+ QCOMPARE(pairingExpected, pairingResult);
+
+ QCOMPARE(pairingExpected, localDevice.pairingStatus(deviceAddress));
+
+}
+
+void tst_QBluetoothLocalDevice::tst_pairingStatus()
+{
+ QFETCH(QBluetoothAddress, deviceAddress);
+ QFETCH(QBluetoothLocalDevice::Pairing, pairingExpected);
+
+ qDebug() << "tst_pairingStatus(): address=" << deviceAddress.toString() << "pairingModeExpected="
+ << static_cast<int>(pairingExpected);
+
+ QBluetoothLocalDevice localDevice;
+ QCOMPARE(pairingExpected, localDevice.pairingStatus(deviceAddress));
+}
+QTEST_MAIN(tst_QBluetoothLocalDevice)
+
+#include "tst_qbluetoothlocaldevice.moc"