summaryrefslogtreecommitdiffstats
path: root/tests/auto/qsensorgestures/tst_qsensorgesturetest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/qsensorgestures/tst_qsensorgesturetest.cpp')
-rw-r--r--tests/auto/qsensorgestures/tst_qsensorgesturetest.cpp590
1 files changed, 0 insertions, 590 deletions
diff --git a/tests/auto/qsensorgestures/tst_qsensorgesturetest.cpp b/tests/auto/qsensorgestures/tst_qsensorgesturetest.cpp
deleted file mode 100644
index 7b8283bf..00000000
--- a/tests/auto/qsensorgestures/tst_qsensorgesturetest.cpp
+++ /dev/null
@@ -1,590 +0,0 @@
-// Copyright (C) 2016 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
-
-#include <QtCore/QString>
-#include <QtTest/QtTest>
-#include <QDebug>
-#include <QVariant>
-#include <QSignalSpy>
-
-#include <qsensorgesture.h>
-#include <qsensorgesturemanager.h>
-
-#include <qsensorgesturerecognizer.h>
-#include <qsensorgestureplugininterface.h>
-
-Q_IMPORT_PLUGIN(QTestSensorGesturePlugin)
-Q_IMPORT_PLUGIN(QTestSensorGestureDupPlugin)
-
-static QString removeParens(const QString &arg)
-{
- return arg.left(arg.indexOf("("));
-}
-
-class QSensorGestureWithSlots : public QObject
-{
- Q_OBJECT
-public:
- QSensorGestureWithSlots(const QStringList &ids)
- : gesture(new QSensorGesture(ids, this))
- {
- }
-
- QSensorGesture *gesture;
-
-public slots:
- void startDetection()
- {
- gesture->startDetection();
- }
-
- void stopDetection()
- {
- gesture->stopDetection();
- }
-};
-
-class QTest3Recognizer : public QSensorGestureRecognizer
-{
- Q_OBJECT
-
-public:
-
- QTest3Recognizer(QObject *parent = 0);
-
- void create() override;
-
- QString id() const override;
- bool start() override;
- bool stop() override;
- bool isActive() override;
- void changeId(const QString &);
-
- QString recognizerId;
-};
-
-QTest3Recognizer::QTest3Recognizer(QObject *parent) : QSensorGestureRecognizer(parent),
- recognizerId("QtSensors/test3"){}
-
-void QTest3Recognizer::create(){}
-
-QString QTest3Recognizer::id() const{ return recognizerId; }
-bool QTest3Recognizer::start(){return true;}
-bool QTest3Recognizer::stop() { return true;}
-bool QTest3Recognizer::isActive() { return true; }
-void QTest3Recognizer::changeId(const QString &id)
-{
- recognizerId = id;
-}
-
-
-class Tst_qsensorgestureTest : public QObject
-{
- Q_OBJECT
-
-public:
- Tst_qsensorgestureTest();
-
-private Q_SLOTS:
- void tst_sensor_gesture_notinitialized();
-
- void tst_recognizer_dup(); //comes first to weed out messages
-
- void tst_manager();
- void tst_manager_gestureids();
- void tst_manager_recognizerSignals();
- void tst_manager_registerSensorGestureRecognizer();
- void tst_manager__newSensorAvailable();
-
- void tst_sensor_gesture_signals();
- void tst_sensor_gesture_threaded();
-
- void tst_sensor_gesture();
-
- void tst_recognizer();
-
- void tst_sensorgesture_noid();
-
- void tst_sensor_gesture_multi();
-
- void shakeDetected(const QString &);
-
-
-private:
- QString currentSignal;
-};
-
-Tst_qsensorgestureTest::Tst_qsensorgestureTest()
-{
-}
-
-void Tst_qsensorgestureTest::tst_recognizer_dup()
-{
- QStringList idList;
- {
-// QTest::ignoreMessage(QtWarningMsg, "\"QtSensors.test.dup\" from the plugin \"TestGesturesDup\" is already known.");
- QSensorGestureManager manager;
- idList = manager.gestureIds();
-
- for (int i = 0; i < idList.count(); i++) {
- if (idList.at(i) == "QtSensors.test.dup")
- QTest::ignoreMessage(QtWarningMsg, "Ignoring recognizer \"QtSensors.test.dup\" from plugin \"TestGesturesDup\" because it is already registered");
- QStringList recognizerSignalsList = manager.recognizerSignals(idList.at(i));
-
- QVERIFY(!recognizerSignalsList.contains("QtSensors.test2"));
- }
-
- QScopedPointer<QSensorGesture> sensorGesture(new QSensorGesture(idList));
- QVERIFY(sensorGesture->validIds().contains("QtSensors.test2"));
- QVERIFY(sensorGesture->validIds().contains("QtSensors.test"));
- QVERIFY(sensorGesture->validIds().contains("QtSensors.test.dup"));
- }
-
- QScopedPointer<QSensorGesture> thisGesture;
- QString plugin;
- plugin = "QtSensors.test2";
- thisGesture.reset(new QSensorGesture(QStringList() << plugin));
- QVERIFY(thisGesture->validIds().contains("QtSensors.test2"));
-
- plugin = "QtSensors.test.dup";
- thisGesture.reset(new QSensorGesture(QStringList() << plugin));
- QVERIFY(!thisGesture->validIds().contains("QtSensors.test2"));
-}
-
-void Tst_qsensorgestureTest::tst_manager()
-{
- QSensorGestureManager *manager2;
- manager2 = new QSensorGestureManager(this);
- QVERIFY(manager2 != 0);
- delete manager2;
-}
-
-void Tst_qsensorgestureTest::tst_manager_gestureids()
-{
- QStringList idList;
- QSensorGestureManager manager;
- idList = manager.gestureIds();
-
- QVERIFY(idList.count() > 0);
-
- QVERIFY(idList.contains("QtSensors.test"));
- QVERIFY(idList.contains("QtSensors.test2"));
- QVERIFY(idList.contains("QtSensors.test.dup"));
-}
-
-void Tst_qsensorgestureTest::tst_manager_recognizerSignals()
-{
- QStringList idList;
-
- QSensorGestureManager manager;
- idList = manager.gestureIds();
-
- idList.removeOne("QtSensors.test.dup");
-
- for (int i = 0; i < idList.count(); i++) {
-
- QStringList recognizerSignalsList = manager.recognizerSignals(idList.at(i));
-
- if (idList.at(i) == "QtSensors.test") {
- QStringList signalList;
- signalList << "detected(QString)";
- signalList << "tested()";
- QCOMPARE(recognizerSignalsList.count(), 2);
-
- QCOMPARE(recognizerSignalsList, signalList);
-
- } else if (idList.at(i) == "QtSensors.test2") {
- QStringList signalList;
- signalList << "detected(QString)";
- signalList << "test2()";
- signalList << "test3(bool)";
-
- QCOMPARE(recognizerSignalsList.count(), 3);
- QCOMPARE(recognizerSignalsList, signalList);
- }
- }
-}
-
-void Tst_qsensorgestureTest::tst_manager_registerSensorGestureRecognizer()
-{
- QSensorGestureManager manager;
- int num = manager.gestureIds().count();
- QSensorGestureRecognizer *recognizer = new QTest3Recognizer;
- bool ok = manager.registerSensorGestureRecognizer(recognizer);
- QCOMPARE(ok, true);
- QCOMPARE(num+1, manager.gestureIds().count());
-
- recognizer = new QTest3Recognizer;
-// QTest::ignoreMessage(QtWarningMsg, "\"QtSensors/test3\" is already known");
- ok = manager.registerSensorGestureRecognizer(recognizer);
- QCOMPARE(ok, false);
- QCOMPARE(num+1, manager.gestureIds().count());
-}
-
-void Tst_qsensorgestureTest::tst_manager__newSensorAvailable()
-{
- QSensorGestureManager manager;
- QSensorGestureManager manager2;
-
- QSignalSpy spy_manager_available(&manager, SIGNAL(newSensorGestureAvailable()));
- QSignalSpy spy_manager2_available(&manager2, SIGNAL(newSensorGestureAvailable()));
-
- manager.gestureIds();
- QCOMPARE(spy_manager_available.count(),0);
- QCOMPARE(spy_manager2_available.count(),0);
-
- QTest3Recognizer *recognizer = new QTest3Recognizer;
- recognizer->changeId("QtSensors.test4");
-
- bool ok = manager.registerSensorGestureRecognizer(recognizer);
- QCOMPARE(ok, true);
- QCOMPARE(spy_manager_available.count(),1);
-
- recognizer = new QTest3Recognizer;
- recognizer->changeId("QtSensors.test4");
-// QTest::ignoreMessage(QtWarningMsg, "\"QtSensors.test4\" is already known");
- ok = manager.registerSensorGestureRecognizer(recognizer);
- QCOMPARE(ok, false);
- QCOMPARE(spy_manager_available.count(),1);
- QCOMPARE(spy_manager2_available.count(),1);
-
- QScopedPointer<QSensorGesture> test4sg;
- test4sg.reset(new QSensorGesture(QStringList() << "QtSensors.test4"));
- QVERIFY(!test4sg->validIds().isEmpty());
- QVERIFY(test4sg->invalidIds().isEmpty());
-}
-
-
-void Tst_qsensorgestureTest::tst_sensor_gesture_signals()
-{
- QStringList testidList;
- testidList << "QtSensors.test";
- testidList << "QtSensors.test2";
-
- for (const QString &plugin : testidList) {
-
- QScopedPointer<QSensorGesture> thisGesture(new QSensorGesture(QStringList() << plugin));
-
- QSignalSpy spy_gesture_detected(thisGesture.data(), SIGNAL(detected(QString)));
- QScopedPointer<QSignalSpy> spy_gesture_tested(0);
-
- if (plugin == "QtSensors.test") {
- QStringList signalList;
- signalList << "detected(QString)";
- signalList << "tested()";
-
- QCOMPARE(thisGesture->gestureSignals().count(), 2);
- QCOMPARE(thisGesture->gestureSignals(), signalList);
-
- QCOMPARE(thisGesture->gestureSignals().at(1), QString("tested()"));
-
- spy_gesture_tested.reset(new QSignalSpy(thisGesture.data(), SIGNAL(tested())));
- } else if (plugin == "QtSensors.test2") {
- QStringList signalList;
- signalList << "detected(QString)";
- signalList << "test2()";
- signalList << "test3(bool)";
- QCOMPARE(thisGesture->gestureSignals().count(), 3);
- QCOMPARE(thisGesture->gestureSignals(), signalList);
-
- QCOMPARE(thisGesture->gestureSignals().at(1), QString("test2()"));
- spy_gesture_tested.reset(new QSignalSpy(thisGesture.data(), SIGNAL(test2())));
- }
-
- QVERIFY(!thisGesture->validIds().isEmpty());
- thisGesture->startDetection();
-
- QCOMPARE(spy_gesture_detected.count(),1);
-
- if (plugin == "QtSensors.test") {
- QCOMPARE(spy_gesture_tested->count(),1);
- QList<QVariant> arguments ;
- arguments = spy_gesture_detected.takeFirst(); // take the first signal
- QCOMPARE(arguments.at(0).toString(), QString("tested"));
- } else if (plugin == "QtSensors.test2") {
- QCOMPARE(spy_gesture_tested->count(),1);
- }
- }
-
-}
-
-
-void Tst_qsensorgestureTest::tst_sensor_gesture_threaded()
-{
-
- QScopedPointer<QSensorGesture> gesture(new QSensorGesture(QStringList() << "QtSensors.test"));
-
- QScopedPointer<QThread> thread(new QThread);
- QScopedPointer<QSensorGestureWithSlots> t_gesture(new QSensorGestureWithSlots(QStringList() << "QtSensors.test"));
- t_gesture->moveToThread(thread.data());
-
- currentSignal = removeParens(gesture->gestureSignals().at(0));
-
- QSignalSpy thread_gesture(t_gesture->gesture, SIGNAL(detected(QString)));
- QSignalSpy spy_gesture2(gesture.data(), SIGNAL(detected(QString)));
-
- QCOMPARE(gesture->isActive(),false);
- gesture->startDetection();
-
- QCOMPARE(thread_gesture.count(),0);
- QCOMPARE(spy_gesture2.count(),1);
-
- QCOMPARE(gesture->isActive(),true);
-
- thread->start();
- QTimer::singleShot(0, t_gesture.data(), SLOT(startDetection())); // Delivered on the thread
-
- QTRY_COMPARE(t_gesture->gesture->isActive(),true);
-
- QTRY_VERIFY(thread_gesture.count() > 0);
- spy_gesture2.clear();
- QTRY_VERIFY(spy_gesture2.count() > 0);
-
- QTimer::singleShot(0, t_gesture.data(), SLOT(stopDetection())); // Delivered on the thread
-
- QTRY_COMPARE(t_gesture->gesture->isActive(),false);
- QCOMPARE(gesture->isActive(),true);
-
- thread->quit();
- thread->wait();
-}
-
-void Tst_qsensorgestureTest::tst_sensor_gesture()
-{
- QScopedPointer<QSensorGesture> gesture(new QSensorGesture(QStringList() << "QtSensors.test"));
-
- QScopedPointer<QSensorGesture> gesture2(new QSensorGesture(QStringList() << "QtSensors.test2"));
- QScopedPointer<QSensorGesture> gesture3(new QSensorGesture(QStringList() << "QtSensors.test2"));
-
- QCOMPARE(gesture->validIds(),QStringList() << "QtSensors.test");
-
- QCOMPARE(gesture->gestureSignals().at(1), QString("tested()"));
-
- QVERIFY(gesture->invalidIds().isEmpty());
- QVERIFY(gesture2->invalidIds().isEmpty());
- QVERIFY(gesture3->invalidIds().isEmpty());
-
- currentSignal = removeParens(gesture->gestureSignals().at(1));
-
- QSignalSpy spy_gesture(gesture.data(), SIGNAL(detected(QString)));
-
- QSignalSpy spy_gesture2(gesture2.data(), SIGNAL(detected(QString)));
-
- QSignalSpy spy_gesture3_detected(gesture3.data(), SIGNAL(detected(QString)));
-
- QSignalSpy spy_gesture4_test2(gesture3.data(), SIGNAL(test2()));
- QSignalSpy spy_gesture5_test3(gesture3.data(), SIGNAL(test3(bool)));
-
-
- QCOMPARE(gesture->isActive(),false);
- gesture->startDetection();
-
- QCOMPARE(spy_gesture.count(),1);
-
- QCOMPARE(gesture->isActive(),true);
- QCOMPARE(gesture2->validIds(),QStringList() <<"QtSensors.test2");
- QCOMPARE(gesture2->gestureSignals().at(1), QString("test2()"));
- currentSignal = removeParens(gesture2->gestureSignals().at(1));
-
- connect(gesture2.data(),SIGNAL(detected(QString)),
- this,SLOT(shakeDetected(QString)));
-
- QCOMPARE(gesture2->isActive(),false);
-
- gesture2->startDetection();
-
- QCOMPARE(gesture2->isActive(),true);
-
- QCOMPARE(spy_gesture2.count(),1);
-
- QCOMPARE(spy_gesture3_detected.count(),0);
-
- gesture2->stopDetection();
-
- QCOMPARE(gesture2->isActive(),false);
- QCOMPARE(gesture3->isActive(),false);
-
- gesture3->startDetection();
-
- QCOMPARE(gesture3->isActive(),true);
- QCOMPARE(gesture2->isActive(),false);
-
- QCOMPARE(spy_gesture.count(),1);
-
- QCOMPARE(spy_gesture2.count(),1);
-
-
- QCOMPARE(spy_gesture3_detected.count(),1);
-
- QCOMPARE(spy_gesture4_test2.count(),1);
-
- QCOMPARE(spy_gesture5_test3.count(),1);
-
- QList<QVariant> arguments2 = spy_gesture5_test3.takeFirst();
- QCOMPARE(arguments2.at(0).toBool(), true);
-}
-
-void Tst_qsensorgestureTest::tst_recognizer()
-{
- QScopedPointer<QSensorGesture> gesture(new QSensorGesture(QStringList() << "QtSensors.test"));
- QScopedPointer<QSensorGesture> gesture2(new QSensorGesture(QStringList() << "QtSensors.test"));
-
- QSignalSpy spy_gesture(gesture.data(), SIGNAL(detected(QString)));
- QSignalSpy spy_gesture2(gesture2.data(), SIGNAL(detected(QString)));
-
- QCOMPARE(gesture->isActive(),false);
- QCOMPARE(gesture2->isActive(),false);
-
- currentSignal = removeParens(gesture2->gestureSignals().at(0));
-
- gesture2->startDetection();//activate 2
-
- QCOMPARE(gesture->isActive(),false);
- QCOMPARE(gesture2->isActive(),true);
-
- QCOMPARE(spy_gesture.count(),0);
-
- QCOMPARE(spy_gesture2.count(),1);
-
- QList<QVariant> arguments = spy_gesture2.takeFirst();
- QCOMPARE(arguments.at(0).toString(), QString("tested"));
-
- QCOMPARE(spy_gesture2.count(),0);
-
- gesture->startDetection(); //activate 1
-
- QCOMPARE(gesture->isActive(),true);
- QCOMPARE(gesture2->isActive(),true);
-
- QTRY_COMPARE(spy_gesture.count(),1);
-
- QCOMPARE(spy_gesture2.count(),1);
-
- arguments = spy_gesture.takeFirst(); // take the first signal
- QCOMPARE(arguments.at(0).toString(), QString("tested"));
- spy_gesture2.removeFirst();
-
- gesture->stopDetection(); //stop 1 gesture object
-
- QCOMPARE(gesture->isActive(),false);
- QCOMPARE(gesture2->isActive(),true);
-
- spy_gesture2.clear();
- gesture2->startDetection();
-
- QCOMPARE(gesture->isActive(),false);
- QCOMPARE(spy_gesture.count(),0);
-
- QCOMPARE(gesture2->isActive(),true);
-
- QTRY_COMPARE(spy_gesture2.count(), 1);
-}
-
-
-void Tst_qsensorgestureTest::tst_sensorgesture_noid()
-{
- QScopedPointer<QSensorGesture> gesture(new QSensorGesture(QStringList() << "QtSensors.noid"));
- QVERIFY(gesture->validIds().isEmpty());
- QCOMPARE(gesture->invalidIds(), QStringList() << "QtSensors.noid");
-
- QTest::ignoreMessage(QtWarningMsg, "QSignalSpy: No such signal: 'detected(QString)'");
- QSignalSpy spy_gesture(gesture.data(), SIGNAL(detected(QString)));
-
- QCOMPARE(spy_gesture.count(),0);
-
- gesture->startDetection();
- QCOMPARE(gesture->isActive(),false);
- QCOMPARE(spy_gesture.count(),0);
-
- gesture->stopDetection();
- QCOMPARE(gesture->isActive(),false);
- QCOMPARE(spy_gesture.count(),0);
-
- QVERIFY(gesture->gestureSignals().isEmpty());
-
- QCOMPARE(gesture->invalidIds() ,QStringList() << "QtSensors.noid");
-
- QSensorGestureManager manager;
- QStringList recognizerSignalsList = manager.recognizerSignals( "QtSensors.noid");
- QVERIFY(recognizerSignalsList.isEmpty());
-
- QVERIFY(!recognizerSignalsList.contains("QtSensors.noid"));
-
- QSensorGestureRecognizer *fakeRecognizer = manager.sensorGestureRecognizer("QtSensors.noid");
- QVERIFY(!fakeRecognizer);
-}
-
-void Tst_qsensorgestureTest::tst_sensor_gesture_multi()
-{
-
- QStringList ids;
- ids << "QtSensors.test";
- ids <<"QtSensors.test2";
- ids << "QtSensors.bogus";
-
- QScopedPointer<QSensorGesture> gesture(new QSensorGesture(ids));
- QStringList gestureSignals = gesture->gestureSignals();
-
- gestureSignals.removeDuplicates() ;
- QCOMPARE(gestureSignals, gesture->gestureSignals());
-
- QCOMPARE(gesture->gestureSignals().count(), 4);
- QCOMPARE(gesture->invalidIds(), QStringList() << "QtSensors.bogus");
-
- QCOMPARE(gesture->isActive(),false);
-
- QSignalSpy spy_gesture_detected(gesture.data(), SIGNAL(detected(QString)));
- gesture->startDetection();
- QCOMPARE(gesture->isActive(),true);
- QCOMPARE(spy_gesture_detected.count(),2);
-
- QList<QVariant> arguments ;
- arguments = spy_gesture_detected.takeAt(0);
- QCOMPARE(arguments.at(0).toString(), QString("tested"));
-
- arguments = spy_gesture_detected.takeAt(0);
- QCOMPARE(arguments.at(0).toString(), QString("test2"));
-
- QTRY_COMPARE(spy_gesture_detected.count(),1);
-
- gesture->stopDetection();
-
- QCOMPARE(gesture->isActive(),false);
-
- {
- QSensorGestureManager manager;
- QVERIFY(!manager.gestureIds().contains("QtSensors.bogus"));
- QSensorGestureRecognizer *recognizer = manager.sensorGestureRecognizer("QtSensors.bogus");
- QVERIFY(recognizer == 0);
- }
-
-}
-
-void Tst_qsensorgestureTest::shakeDetected(const QString &type)
-{
- QCOMPARE(type,currentSignal);
-}
-
-void Tst_qsensorgestureTest::tst_sensor_gesture_notinitialized()
-{
- QTest::ignoreMessage(QtWarningMsg, "\"QtSensors.test.dup\" from the plugin \"TestGesturesDup\" is already known.");
- QSensorGestureManager manager;
- QSensorGestureRecognizer *recognizer = manager.sensorGestureRecognizer("QtSensors.test");
-
- QTest::ignoreMessage(QtWarningMsg, "Not starting. Gesture Recognizer not initialized");
- recognizer->startBackend();
- QVERIFY(recognizer->isActive() == false);
-
- QTest::ignoreMessage(QtWarningMsg, "Not stopping. Gesture Recognizer not initialized");
- recognizer->stopBackend();
- QVERIFY(recognizer->isActive() == false);
-
- recognizer->createBackend();
- QVERIFY(recognizer->isActive() == false);
-
-}
-
-
-QTEST_MAIN(Tst_qsensorgestureTest);
-
-#include "tst_qsensorgesturetest.moc"