diff options
Diffstat (limited to 'tests/auto')
-rw-r--r-- | tests/auto/qsensorgestures/qsensorgestures.pro | 1 | ||||
-rw-r--r-- | tests/auto/qsensorgestures/tst_qsensorgesturetest.cpp | 29 |
2 files changed, 30 insertions, 0 deletions
diff --git a/tests/auto/qsensorgestures/qsensorgestures.pro b/tests/auto/qsensorgestures/qsensorgestures.pro index 5bccd762..a29e3c4d 100644 --- a/tests/auto/qsensorgestures/qsensorgestures.pro +++ b/tests/auto/qsensorgestures/qsensorgestures.pro @@ -6,6 +6,7 @@ QT += core testlib sensors QT -= gui SOURCES += tst_qsensorgesturetest.cpp +DEFINES += QT_NO_QOBJECT_CHECK PLUGIN_1_HEADERS = \ diff --git a/tests/auto/qsensorgestures/tst_qsensorgesturetest.cpp b/tests/auto/qsensorgestures/tst_qsensorgesturetest.cpp index 9b82e722..b5f4a0fd 100644 --- a/tests/auto/qsensorgestures/tst_qsensorgesturetest.cpp +++ b/tests/auto/qsensorgestures/tst_qsensorgesturetest.cpp @@ -141,6 +141,7 @@ private Q_SLOTS: void tst_sensor_gesture_threaded(); void tst_sensor_gesture(); + void tst_sensor_gesture_metacast(); void tst_recognizer(); @@ -488,6 +489,25 @@ void Tst_qsensorgestureTest::tst_sensor_gesture() gesture3 = 0; } +void Tst_qsensorgestureTest::tst_sensor_gesture_metacast() +{ + QSensorGesture *gesture = new QSensorGesture(QStringList() << "QtSensors.test", this); + // exercise qt_metacast + QVERIFY(!gesture->inherits("")); + QVERIFY(gesture->inherits("QObject")); + +#if defined(QT_NO_QOBJECT_CHECK) + QObject *o = qobject_cast<QObject *>(gesture); + QVERIFY(o); + + // this will fail in the compile time check for + // the Q_OBJECT macro in qobjectdefs.h unless QT_NO_QOBJECT_CHECK is defined, + QSensorGesture *gest = qobject_cast<QSensorGesture *>(o); + QVERIFY(!gest->gestureSignals().isEmpty()); +#endif + delete gesture; +} + void Tst_qsensorgestureTest::tst_recognizer() { @@ -574,6 +594,15 @@ void Tst_qsensorgestureTest::tst_sensorgesture_noid() 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); + delete gesture; gesture = 0; } |