summaryrefslogtreecommitdiffstats
path: root/tests/auto/sensors2qmlapi/tst_sensors2qmlapi.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/sensors2qmlapi/tst_sensors2qmlapi.cpp')
-rw-r--r--tests/auto/sensors2qmlapi/tst_sensors2qmlapi.cpp288
1 files changed, 0 insertions, 288 deletions
diff --git a/tests/auto/sensors2qmlapi/tst_sensors2qmlapi.cpp b/tests/auto/sensors2qmlapi/tst_sensors2qmlapi.cpp
deleted file mode 100644
index 51007fcb..00000000
--- a/tests/auto/sensors2qmlapi/tst_sensors2qmlapi.cpp
+++ /dev/null
@@ -1,288 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** 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 https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtTest/QtTest>
-#include <QtTest/QSignalSpy>
-#include <QtCore/QDebug>
-
-#include "../../../src/imports/sensors/qmlsensor.h"
-#include "../../../src/imports/sensors/qmlsensorgesture.h"
-
-#include "qtemplategestureplugin.h"
-#include "qtemplaterecognizer.h"
-#include <qsensorgesturemanager.h>
-#include <qsensorbackend.h>
-#include "qsensormanager.h"
-
-QT_USE_NAMESPACE
-
-QT_BEGIN_NAMESPACE
-
-class tst_Sensors2QMLAPI : public QObject
-{
- Q_OBJECT
-
-private slots:
- void initTestCase();
- void testGesture();
- void testSensorRanges();
-};
-
-void tst_Sensors2QMLAPI::initTestCase()
-{
- qputenv("QT_SENSORS_LOAD_PLUGINS", "0"); // Do not load plugins
-}
-
-void tst_Sensors2QMLAPI::testGesture()
-{
- QTemplateGesturePlugin* plugin = new QTemplateGesturePlugin();
- QList <QSensorGestureRecognizer *> recognizers = plugin->createRecognizers();
- QSensorGestureManager manager;
-
- QmlSensorGesture* gs = new QmlSensorGesture(this);
- gs->componentComplete();
- QSignalSpy spy_availableGesturesChanged(gs, SIGNAL(availableGesturesChanged()));
- QSignalSpy spy_detected(gs, SIGNAL(detected(QString)));
- QSignalSpy spy_gesturesChanged(gs, SIGNAL(gesturesChanged()));
- QSignalSpy spy_validGesturesChanged(gs, SIGNAL(validGesturesChanged()));
- QSignalSpy spy_invalidGesturesChanged(gs, SIGNAL(invalidGesturesChanged()));
- QSignalSpy spy_enabledChanged(gs, SIGNAL(enabledChanged()));
-
- //This flag is needed if you run this unit test with an alread installed template plugin
- bool registered = false;
- for (int i = 0; i < recognizers.count(); i++){
- registered = manager.registerSensorGestureRecognizer(recognizers[i]);
- }
- if (registered) {
- QCOMPARE(spy_availableGesturesChanged.count(), 2);
- }
-
- //check creation of a not known plugin
- QCOMPARE(spy_invalidGesturesChanged.count(), 0);
- QCOMPARE(spy_gesturesChanged.count(), 0);
- gs->setGestures(QStringList() << "lollipop");
- QCOMPARE(spy_gesturesChanged.count(), 1);
- QCOMPARE(spy_invalidGesturesChanged.count(), 1);
-
- //check creation of a known plugin
- QCOMPARE(spy_validGesturesChanged.count(), 0);
- QCOMPARE(spy_gesturesChanged.count(), 1);
- spy_invalidGesturesChanged.clear();
- spy_validGesturesChanged.clear();
- gs->setGestures(QStringList() << "QtSensors.template");
- QCOMPARE(spy_gesturesChanged.count(), 2);
- QCOMPARE(spy_invalidGesturesChanged.count(), 1);
- QCOMPARE(spy_validGesturesChanged.count(), 1);
-
- //enable "QtSensors.template"
- QCOMPARE(spy_enabledChanged.count(), 0);
- QCOMPARE(spy_detected.count(), 0);
- gs->setEnabled(true);
- QCOMPARE(spy_enabledChanged.count(), 1);
- QCOMPARE(spy_detected.count(), 1);
-
- //set gesture during running sensor should not emit gesture changed
- spy_gesturesChanged.clear();
- gs->setGestures(QStringList() << "QtSensors.template2");
- QCOMPARE(spy_gesturesChanged.count(), 0);
-
- gs->setEnabled(false);
-
- QmlSensorGesture* gs1 = new QmlSensorGesture(this);
- QSignalSpy spy1_detected(gs1, SIGNAL(detected(QString)));
- QSignalSpy spy1_gesturesChanged(gs1, SIGNAL(gesturesChanged()));
- QSignalSpy spy1_validGesturesChanged(gs1, SIGNAL(validGesturesChanged()));
- QSignalSpy spy1_invalidGesturesChanged(gs1, SIGNAL(invalidGesturesChanged()));
- QSignalSpy spy1_enabledChanged(gs1, SIGNAL(enabledChanged()));
- gs1->componentComplete();
-
- //set enable = true without gesture should
- gs1->setEnabled(true);
- QCOMPARE(spy1_enabledChanged.count(), 1);
- gs1->setEnabled(false);
- spy1_enabledChanged.clear();
-
- //reding gestures check if we get back an empty string list
- QStringList gestures = gs1->gestures();
- QCOMPARE(gestures.count(), 0);
- QStringList validgestures = gs1->validGestures();
- QCOMPARE(validgestures.count(), 0);
- QStringList invalidgestures = gs1->invalidGestures();
- QCOMPARE(invalidgestures.count(), 0);
-
- //check types "QtSensors.template" "QtSensors.template1" "lollipop"
- //expect valid 2 not available 1
- gestures << "QtSensors.template" << "QtSensors.template1" << "lollipop";
- gs1->setGestures(gestures);
- gestures = gs1->gestures();
- QCOMPARE(gestures.count(), 3);
- QCOMPARE(spy1_validGesturesChanged.count(), 1);
- QCOMPARE(spy1_invalidGesturesChanged.count(), 1);
- QCOMPARE(spy1_gesturesChanged.count(), 1);
- //set same gesture again should not emit gesture changed
- gs1->setGestures(gestures);
- QCOMPARE(spy1_gesturesChanged.count(), 1);
-
- spy1_gesturesChanged.clear();
- gestures.clear();
- gs1->setGestures(gestures);
- QCOMPARE(spy1_gesturesChanged.count(), 1);
-
- //enable "QtSensors.template" and "QtSensors.template1"
- gestures << "QtSensors.template" << "QtSensors.template1";
- gs1->setEnabled(false);
- gs1->setGestures(gestures);
- spy1_enabledChanged.clear();
- spy1_detected.clear();
- gs1->setEnabled(true);
- QCOMPARE(spy1_enabledChanged.count(), 1);
- QCOMPARE(spy1_detected.count(), 2);
- gs1->setEnabled(false);
-
- //check sensor shouldn't run until the componentComplete gets called
- QmlSensorGesture* gs2 = new QmlSensorGesture(this);
- QSignalSpy spy2_detected(gs2, SIGNAL(detected(QString)));
- gs2->setGestures(QStringList() << "QtSensors.template");
- gs2->setEnabled(true);
- QCOMPARE(spy2_detected.count(), 0);
- gs2->componentComplete();
- QCOMPARE(spy2_detected.count(), 1);
-}
-
-class QDummySensorBackend : public QSensorBackend
-{
- Q_OBJECT
-public:
- QDummySensorBackend(QSensor *sensor) : QSensorBackend(sensor)
- {
- addDataRate(2, 3);
- addDataRate(5, 7);
- addOutputRange(100, 200, 1);
- addOutputRange(600, 700, 10);
- addOutputRange(0, 1, 2);
- }
-
- void start() override {}
- void stop() override {}
-};
-
-class QDummySensorReading : public QSensorReading
-{
- Q_OBJECT
-public:
- QDummySensorReading(QObject *parent) : QSensorReading(parent, nullptr) {}
-};
-
-class QmlDummySensorReading : public QmlSensorReading
-{
- Q_OBJECT
-public:
- QmlDummySensorReading(QSensor *sensor) :
- QmlSensorReading(sensor),
- m_reading(new QDummySensorReading(this))
- {}
-
- QSensorReading *reading() const override { return m_reading; }
- void readingUpdate() override {}
-
-private:
- QSensorReading *m_reading = nullptr;
-};
-
-class QmlDummySensor : public QmlSensor
-{
- Q_OBJECT
-public:
- QmlDummySensor(QObject *parent = nullptr) :
- QmlSensor(parent),
- m_sensor(new QSensor("dummy", this))
- {
- QDummySensorBackend b(m_sensor);
- Q_UNUSED(b);
- }
-
- QSensor *sensor() const override { return m_sensor; }
- QmlSensorReading *createReading() const override { return new QmlDummySensorReading(m_sensor); }
-
- void componentComplete() override { QmlSensor::componentComplete(); }
-
-private:
- QSensor *m_sensor = nullptr;
-};
-
-void tst_Sensors2QMLAPI::testSensorRanges()
-{
- QScopedPointer<QmlDummySensor> qmlSensor(new QmlDummySensor);
- qmlSensor->componentComplete();
-
- auto ranges = qmlSensor->availableDataRates();
- QCOMPARE(ranges.count(&ranges), 2);
-
- const auto range0 = ranges.at(&ranges, 0);
- QCOMPARE(range0->minimum(), 2);
- QCOMPARE(range0->maximum(), 3);
- QSignalSpy range0Spy(range0, SIGNAL(destroyed()));
-
- const auto range1 = ranges.at(&ranges, 1);
- QCOMPARE(range1->minimum(), 5);
- QCOMPARE(range1->maximum(), 7);
- QSignalSpy range1Spy(range1, SIGNAL(destroyed()));
-
- auto outputs = qmlSensor->outputRanges();
- QCOMPARE(outputs.count(&outputs), 3);
-
- const auto output0 = outputs.at(&outputs, 0);
- QCOMPARE(output0->minimum(), 100);
- QCOMPARE(output0->maximum(), 200);
- QCOMPARE(output0->accuracy(), 1);
- QSignalSpy output0Spy(output0, SIGNAL(destroyed()));
-
- const auto output1 = outputs.at(&outputs, 1);
- QCOMPARE(output1->minimum(), 600);
- QCOMPARE(output1->maximum(), 700);
- QCOMPARE(output1->accuracy(), 10);
- QSignalSpy output1Spy(output1, SIGNAL(destroyed()));
-
- const auto output2 = outputs.at(&outputs, 2);
- QCOMPARE(output2->minimum(), 0);
- QCOMPARE(output2->maximum(), 1);
- QCOMPARE(output2->accuracy(), 2);
- QSignalSpy output2Spy(output2, SIGNAL(destroyed()));
-
- qmlSensor.reset();
- QCOMPARE(range0Spy.count(), 1);
- QCOMPARE(range1Spy.count(), 1);
- QCOMPARE(output0Spy.count(), 1);
- QCOMPARE(output1Spy.count(), 1);
- QCOMPARE(output2Spy.count(), 1);
-}
-
-QT_END_NAMESPACE
-
-QTEST_MAIN(tst_Sensors2QMLAPI)
-#include "tst_sensors2qmlapi.moc"