summaryrefslogtreecommitdiffstats
path: root/tests/auto/qsensor
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/qsensor')
-rw-r--r--tests/auto/qsensor/test_sensorimpl.cpp5
-rw-r--r--tests/auto/qsensor/test_sensorimpl.h1
-rw-r--r--tests/auto/qsensor/tst_qsensor.cpp21
3 files changed, 27 insertions, 0 deletions
diff --git a/tests/auto/qsensor/test_sensorimpl.cpp b/tests/auto/qsensor/test_sensorimpl.cpp
index 5b52d94a..72a0dbdf 100644
--- a/tests/auto/qsensor/test_sensorimpl.cpp
+++ b/tests/auto/qsensor/test_sensorimpl.cpp
@@ -117,3 +117,8 @@ void testsensorimpl::stop()
}
}
+bool testsensorimpl::isFeatureSupported(QSensor::Feature feature) const
+{
+ return (feature == QSensor::AlwaysOn || feature == QSensor::GeoValues);
+}
+
diff --git a/tests/auto/qsensor/test_sensorimpl.h b/tests/auto/qsensor/test_sensorimpl.h
index 37ccc136..1462ccba 100644
--- a/tests/auto/qsensor/test_sensorimpl.h
+++ b/tests/auto/qsensor/test_sensorimpl.h
@@ -56,6 +56,7 @@ public:
void start();
void stop();
+ bool isFeatureSupported(QSensor::Feature feature) const Q_DECL_OVERRIDE;
signals:
void emitBusyChanged();
diff --git a/tests/auto/qsensor/tst_qsensor.cpp b/tests/auto/qsensor/tst_qsensor.cpp
index 8025ab21..38c32e76 100644
--- a/tests/auto/qsensor/tst_qsensor.cpp
+++ b/tests/auto/qsensor/tst_qsensor.cpp
@@ -946,6 +946,27 @@ private slots:
sensor2.start();
QVERIFY(sensor2.isActive());
}
+
+ void testSupportedFeatures()
+ {
+ TestSensor sensor;
+
+ // Not connected to backend - should report false for any feature
+ QVERIFY(!sensor.isConnectedToBackend());
+ QVERIFY(!sensor.isFeatureSupported(QSensor::AlwaysOn));
+ QVERIFY(!sensor.isFeatureSupported(QSensor::Buffering));
+ QVERIFY(!sensor.isFeatureSupported(QSensor::GeoValues));
+ QVERIFY(!sensor.isFeatureSupported(QSensor::FieldOfView));
+
+ // Connect to backend - according to the testsensorimpl implementation, AlwaysOn and
+ // GeoValues should be supported afterwards
+ QVERIFY(sensor.connectToBackend());
+
+ QVERIFY(sensor.isFeatureSupported(QSensor::AlwaysOn));
+ QVERIFY(!sensor.isFeatureSupported(QSensor::Buffering));
+ QVERIFY(sensor.isFeatureSupported(QSensor::GeoValues));
+ QVERIFY(!sensor.isFeatureSupported(QSensor::FieldOfView));
+ }
};
QT_END_NAMESPACE