summaryrefslogtreecommitdiffstats
path: root/tests/auto
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto')
-rw-r--r--tests/auto/declarative_ui/tst_map.qml41
-rw-r--r--tests/auto/declarative_ui/tst_map_maptype.qml94
-rw-r--r--tests/auto/geotestplugin/qgeotiledmappingmanagerengine_test.h22
-rw-r--r--tests/auto/qgeocameracapabilities/tst_qgeocameracapabilities.cpp80
4 files changed, 227 insertions, 10 deletions
diff --git a/tests/auto/declarative_ui/tst_map.qml b/tests/auto/declarative_ui/tst_map.qml
index ab1ddd8c..004e3b10 100644
--- a/tests/auto/declarative_ui/tst_map.qml
+++ b/tests/auto/declarative_ui/tst_map.qml
@@ -260,6 +260,47 @@ Item {
compare(map.maximumZoomLevel, 20)
}
+ function test_tilt_limits()
+ {
+ // Tilt limits are read only
+ map.tilt = 0
+
+ //initial plugin values
+ compare(map.minimumTilt, 0)
+ compare(map.maximumTilt, 60)
+
+ map.tilt = 18
+ compare(map.tilt, 18)
+
+ map.tilt = -2
+ compare(map.tilt, 0)
+
+ map.tilt = 2
+ compare(map.tilt, 2)
+
+ map.tilt = 62
+ compare(map.tilt, 60)
+
+ map.tilt = 0
+ compare(map.tilt, 0)
+ }
+
+ function test_fov_limits()
+ {
+ // Tilt limits are read only
+ map.fieldOfView = 45
+
+ //initial plugin values
+ compare(map.fieldOfView, 45)
+ compare(map.fieldOfView, 45)
+
+ map.fieldOfView = 18
+ compare(map.fieldOfView, 45)
+
+ map.fieldOfView = 62
+ compare(map.fieldOfView, 45)
+ }
+
function test_zoom()
{
wait(1000)
diff --git a/tests/auto/declarative_ui/tst_map_maptype.qml b/tests/auto/declarative_ui/tst_map_maptype.qml
index fa056c44..17e958d5 100644
--- a/tests/auto/declarative_ui/tst_map_maptype.qml
+++ b/tests/auto/declarative_ui/tst_map_maptype.qml
@@ -40,6 +40,12 @@ Item{
Map { id: map; anchors.fill: parent }
SignalSpy { id: supportedMapTypesSpy; target: map; signalName: "supportedMapTypesChanged" }
SignalSpy { id: activeMapTypeChangedSpy; target: map; signalName: "activeMapTypeChanged" }
+ SignalSpy { id: minimumZoomLevelChangedSpy; target: map; signalName: "minimumZoomLevelChanged" }
+ SignalSpy { id: maximumZoomLevelChangedSpy; target: map; signalName: "maximumZoomLevelChanged" }
+ SignalSpy { id: minimumTiltChangedSpy; target: map; signalName: "minimumTiltChanged" }
+ SignalSpy { id: maximumTiltChangedSpy; target: map; signalName: "maximumTiltChanged" }
+ SignalSpy { id: minimumFieldOfViewChangedSpy; target: map; signalName: "minimumFieldOfViewChanged" }
+ SignalSpy { id: maximumFieldOfViewChangedSpy; target: map; signalName: "maximumFieldOfViewChanged" }
TestCase {
id: testCase
@@ -52,7 +58,7 @@ Item{
compare(map.activeMapType.style, MapType.NoMap)
map.plugin = testPlugin
tryCompare(supportedMapTypesSpy, "count", 1)
- compare(map.supportedMapTypes.length,3)
+ compare(map.supportedMapTypes.length, 4)
compare(map.supportedMapTypes[0].style, MapType.StreetMap)
compare(map.supportedMapTypes[0].name, "StreetMap")
compare(map.supportedMapTypes[0].description, "StreetMap")
@@ -62,6 +68,9 @@ Item{
compare(map.supportedMapTypes[2].style, MapType.CycleMap)
compare(map.supportedMapTypes[2].name, "CycleMap")
compare(map.supportedMapTypes[2].description, "CycleMap")
+ compare(map.supportedMapTypes[3].style, MapType.CustomMap)
+ compare(map.supportedMapTypes[3].name, "AlternateCameraCapabilities")
+ compare(map.supportedMapTypes[3].description, "AlternateCameraCapabilities")
//default
compare(map.activeMapType.style, MapType.StreetMap)
}
@@ -87,6 +96,89 @@ Item{
tryCompare(activeMapTypeChangedSpy, "count", 2)
compare(map.supportedMapTypes[2].name, map.activeMapType.name)
compare(map.supportedMapTypes[2].style, map.activeMapType.style)
+
+ map.activeMapType = map.supportedMapTypes[3]
+ tryCompare(activeMapTypeChangedSpy, "count", 3)
+ compare(map.supportedMapTypes[3].name, map.activeMapType.name)
+ compare(map.supportedMapTypes[3].style, map.activeMapType.style)
+ }
+
+ function test_maptype_capabilities()
+ {
+ minimumZoomLevelChangedSpy.clear();
+ maximumZoomLevelChangedSpy.clear();
+ minimumTiltChangedSpy.clear();
+ maximumTiltChangedSpy.clear();
+ minimumFieldOfViewChangedSpy.clear();
+ maximumFieldOfViewChangedSpy.clear();
+
+ map.activeMapType = map.supportedMapTypes[0]
+
+ compare(map.minimumZoomLevel, 0)
+ compare(map.maximumZoomLevel, 20)
+ compare(map.minimumTilt, 0)
+ compare(map.maximumTilt, 60)
+ compare(map.minimumFieldOfView, 45)
+ compare(map.maximumFieldOfView, 45)
+
+ tryCompare(minimumZoomLevelChangedSpy, "count", 0)
+ tryCompare(maximumZoomLevelChangedSpy, "count", 0)
+ tryCompare(minimumTiltChangedSpy, "count", 0)
+ tryCompare(maximumTiltChangedSpy, "count", 0)
+ tryCompare(minimumFieldOfViewChangedSpy, "count", 0)
+ tryCompare(maximumFieldOfViewChangedSpy, "count", 0)
+
+
+ map.activeMapType = map.supportedMapTypes[1]
+
+ compare(map.minimumZoomLevel, 0)
+ compare(map.maximumZoomLevel, 20)
+ compare(map.minimumTilt, 0)
+ compare(map.maximumTilt, 60)
+ compare(map.minimumFieldOfView, 45)
+ compare(map.maximumFieldOfView, 45)
+
+ tryCompare(minimumZoomLevelChangedSpy, "count", 0)
+ tryCompare(maximumZoomLevelChangedSpy, "count", 0)
+ tryCompare(minimumTiltChangedSpy, "count", 0)
+ tryCompare(maximumTiltChangedSpy, "count", 0)
+ tryCompare(minimumFieldOfViewChangedSpy, "count", 0)
+ tryCompare(maximumFieldOfViewChangedSpy, "count", 0)
+
+
+ map.activeMapType = map.supportedMapTypes[3]
+
+ compare(map.minimumZoomLevel, 0)
+ compare(map.maximumZoomLevel, 19)
+ compare(map.minimumTilt, 0)
+ compare(map.maximumTilt, 80)
+ compare(map.minimumFieldOfView, 1)
+ compare(map.maximumFieldOfView, 179)
+
+ tryCompare(minimumZoomLevelChangedSpy, "count", 0)
+ tryCompare(maximumZoomLevelChangedSpy, "count", 1)
+ tryCompare(minimumTiltChangedSpy, "count", 0)
+ tryCompare(maximumTiltChangedSpy, "count", 1)
+ tryCompare(minimumFieldOfViewChangedSpy, "count", 1)
+ tryCompare(maximumFieldOfViewChangedSpy, "count", 1)
+
+
+ map.activeMapType = map.supportedMapTypes[0]
+
+ compare(map.minimumZoomLevel, 0)
+ compare(map.maximumZoomLevel, 20)
+ compare(map.minimumTilt, 0)
+ compare(map.maximumTilt, 60)
+ compare(map.minimumFieldOfView, 45)
+ compare(map.maximumFieldOfView, 45)
+
+ tryCompare(minimumZoomLevelChangedSpy, "count", 0)
+ tryCompare(maximumZoomLevelChangedSpy, "count", 2)
+ tryCompare(minimumTiltChangedSpy, "count", 0)
+ tryCompare(maximumTiltChangedSpy, "count", 2)
+ tryCompare(minimumFieldOfViewChangedSpy, "count", 2)
+ tryCompare(maximumFieldOfViewChangedSpy, "count", 2)
+
}
}
}
diff --git a/tests/auto/geotestplugin/qgeotiledmappingmanagerengine_test.h b/tests/auto/geotestplugin/qgeotiledmappingmanagerengine_test.h
index 015a203a..df729392 100644
--- a/tests/auto/geotestplugin/qgeotiledmappingmanagerengine_test.h
+++ b/tests/auto/geotestplugin/qgeotiledmappingmanagerengine_test.h
@@ -66,6 +66,7 @@ public:
mapTypes << QGeoMapType(QGeoMapType::StreetMap, tr("StreetMap"), tr("StreetMap"), false, false, 1);
mapTypes << QGeoMapType(QGeoMapType::SatelliteMapDay, tr("SatelliteMapDay"), tr("SatelliteMapDay"), false, false, 2);
mapTypes << QGeoMapType(QGeoMapType::CycleMap, tr("CycleMap"), tr("CycleMap"), false, false, 3);
+ mapTypes << QGeoMapType(QGeoMapType::CustomMap, tr("AlternateCameraCapabilities"), tr("AlternateCameraCapabilities"), false, false, 4);
setSupportedMapTypes(mapTypes);
QGeoTileFetcherTest *fetcher = new QGeoTileFetcherTest(this);
@@ -90,6 +91,27 @@ public:
return new QGeoTiledMapTest(this);
}
+ QGeoCameraCapabilities cameraCapabilities(const QGeoMapType &mapType) const Q_DECL_OVERRIDE
+ {
+ switch (mapType.mapId()) {
+ case 4:
+ {
+ QGeoCameraCapabilities capabilities;
+ capabilities.setMinimumZoomLevel(0.0);
+ capabilities.setMaximumZoomLevel(19.0);
+ capabilities.setSupportsBearing(true);
+ capabilities.setSupportsTilting(true);
+ capabilities.setMinimumTilt(0);
+ capabilities.setMaximumTilt(80);
+ capabilities.setMinimumFieldOfView(1);
+ capabilities.setMaximumFieldOfView(179);
+ return capabilities;
+ }
+ default:
+ return QGeoMappingManagerEngine::cameraCapabilities(mapType);
+ }
+ }
+
};
#endif
diff --git a/tests/auto/qgeocameracapabilities/tst_qgeocameracapabilities.cpp b/tests/auto/qgeocameracapabilities/tst_qgeocameracapabilities.cpp
index 09d7293b..06d85e1e 100644
--- a/tests/auto/qgeocameracapabilities/tst_qgeocameracapabilities.cpp
+++ b/tests/auto/qgeocameracapabilities/tst_qgeocameracapabilities.cpp
@@ -54,6 +54,8 @@ private Q_SLOTS:
void supportsTiltingTest();
void minimumTiltTest();
void maximumTiltTest();
+ void minimumFieldOfViewTest();
+ void maximumFieldOfViewTest();
void operatorsTest_data();
void operatorsTest();
void isValidTest();
@@ -68,12 +70,14 @@ void tst_QGeoCameraCapabilities::populateGeoCameraCapabilitiesData(){
QTest::addColumn<double>("maximumZoomLevel");
QTest::addColumn<double>("minimumTilt");
QTest::addColumn<double>("maximumTilt");
+ QTest::addColumn<double>("minimumFieldOfView");
+ QTest::addColumn<double>("maximumFieldOfView");
QTest::addColumn<bool>("bearingSupport");
QTest::addColumn<bool>("rollingSupport");
QTest::addColumn<bool>("tiltingSupport");
- QTest::newRow("zeros") << 0.0 << 0.0 << 0.0 << 0.0 << false << false << false;
- QTest::newRow("valid") << 1.0 << 2.0 << 0.5 << 1.5 << true << true << true;
- QTest::newRow("negative values") << 0.0 << 0.5 << -0.5 << -0.1 << true << true << true;
+ QTest::newRow("zeros") << 0.0 << 0.0 << 0.0 << 0.0 << 0.0 << 0.0 << false << false << false;
+ QTest::newRow("valid") << 1.0 << 2.0 << 0.5 << 1.5 << 1.0 << 179.0 << true << true << true;
+ QTest::newRow("negative values") << 0.0 << 0.5 << -0.5 << -0.1 << -20.0 << -30.0 << true << true << true;
}
void tst_QGeoCameraCapabilities::constructorTest_data(){
@@ -86,10 +90,15 @@ void tst_QGeoCameraCapabilities::constructorTest()
QFETCH(double, maximumZoomLevel);
QFETCH(double, minimumTilt);
QFETCH(double, maximumTilt);
+ QFETCH(double, minimumFieldOfView);
+ QFETCH(double, maximumFieldOfView);
QFETCH(bool, bearingSupport);
QFETCH(bool, rollingSupport);
QFETCH(bool, tiltingSupport);
+ minimumFieldOfView = qBound(1.0, minimumFieldOfView, 179.0);
+ maximumFieldOfView = qBound(1.0, maximumFieldOfView, 179.0);
+
// contructor test with default values
QGeoCameraCapabilities cameraCapabilities;
QGeoCameraCapabilities cameraCapabilities2(cameraCapabilities);
@@ -100,12 +109,16 @@ void tst_QGeoCameraCapabilities::constructorTest()
QVERIFY2(cameraCapabilities.supportsTilting() == cameraCapabilities2.supportsTilting(), "Copy constructor failed for tilting support");
QCOMPARE(cameraCapabilities.minimumTilt(), cameraCapabilities2.minimumTilt());
QCOMPARE(cameraCapabilities.maximumTilt(), cameraCapabilities2.maximumTilt());
+ QCOMPARE(cameraCapabilities.minimumFieldOfView(), cameraCapabilities2.minimumFieldOfView());
+ QCOMPARE(cameraCapabilities.maximumFieldOfView(), cameraCapabilities2.maximumFieldOfView());
// constructor test after setting values
cameraCapabilities.setMinimumZoomLevel(minimumZoomLevel);
cameraCapabilities.setMaximumZoomLevel(maximumZoomLevel);
cameraCapabilities.setMinimumTilt(minimumTilt);
cameraCapabilities.setMaximumTilt(maximumTilt);
+ cameraCapabilities.setMinimumFieldOfView(minimumFieldOfView);
+ cameraCapabilities.setMaximumFieldOfView(maximumFieldOfView);
cameraCapabilities.setSupportsBearing(bearingSupport);
cameraCapabilities.setSupportsRolling(rollingSupport);
cameraCapabilities.setSupportsTilting(tiltingSupport);
@@ -116,6 +129,8 @@ void tst_QGeoCameraCapabilities::constructorTest()
QCOMPARE(cameraCapabilities3.maximumZoomLevel(), maximumZoomLevel);
QCOMPARE(cameraCapabilities3.minimumTilt(), minimumTilt);
QCOMPARE(cameraCapabilities3.maximumTilt(), maximumTilt);
+ QCOMPARE(cameraCapabilities3.minimumFieldOfView(), minimumFieldOfView);
+ QCOMPARE(cameraCapabilities3.maximumFieldOfView(), maximumFieldOfView);
QVERIFY2(cameraCapabilities3.supportsBearing() == bearingSupport, "Copy constructor failed for bearing support");
QVERIFY2(cameraCapabilities3.supportsRolling() == rollingSupport, "Copy constructor failed for rolling support ");
QVERIFY2(cameraCapabilities3.supportsTilting() == tiltingSupport, "Copy constructor failed for tilting support");
@@ -127,6 +142,8 @@ void tst_QGeoCameraCapabilities::constructorTest()
QVERIFY2(cameraCapabilities.supportsTilting() == cameraCapabilities3.supportsTilting(), "Copy constructor failed for tilting support");
QCOMPARE(cameraCapabilities.minimumTilt(), cameraCapabilities3.minimumTilt());
QCOMPARE(cameraCapabilities.maximumTilt(), cameraCapabilities3.maximumTilt());
+ QCOMPARE(cameraCapabilities.minimumFieldOfView(), cameraCapabilities3.minimumFieldOfView());
+ QCOMPARE(cameraCapabilities.maximumFieldOfView(), cameraCapabilities3.maximumFieldOfView());
}
void tst_QGeoCameraCapabilities::minimumZoomLevelTest()
@@ -213,6 +230,40 @@ void tst_QGeoCameraCapabilities::maximumTiltTest(){
QCOMPARE(cameraCapabilities2.maximumTilt(), 1.5);
}
+void tst_QGeoCameraCapabilities::minimumFieldOfViewTest()
+{
+ QGeoCameraCapabilities cameraCapabilities;
+ QCOMPARE(cameraCapabilities.minimumFieldOfView(), 45.0); // min/max default to 45
+ cameraCapabilities.setMinimumFieldOfView(1.5);
+ QCOMPARE(cameraCapabilities.minimumFieldOfView(), 1.5);
+ cameraCapabilities.setMinimumFieldOfView(-1.5);
+ QCOMPARE(cameraCapabilities.minimumFieldOfView(), 1.0);
+ cameraCapabilities.setMinimumFieldOfView(245.5);
+ QCOMPARE(cameraCapabilities.minimumFieldOfView(), 179.0);
+
+ QGeoCameraCapabilities cameraCapabilities2 = cameraCapabilities;
+ QCOMPARE(cameraCapabilities2.minimumFieldOfView(), 179.0);
+ cameraCapabilities.setMinimumFieldOfView(2.5);
+ QCOMPARE(cameraCapabilities2.minimumFieldOfView(), 179.0);
+}
+
+void tst_QGeoCameraCapabilities::maximumFieldOfViewTest()
+{
+ QGeoCameraCapabilities cameraCapabilities;
+ QCOMPARE(cameraCapabilities.maximumFieldOfView(), 45.0); // min/max default to 45
+ cameraCapabilities.setMaximumFieldOfView(1.5);
+ QCOMPARE(cameraCapabilities.maximumFieldOfView(), 1.5);
+ cameraCapabilities.setMaximumFieldOfView(-1.5);
+ QCOMPARE(cameraCapabilities.maximumFieldOfView(), 1.0);
+ cameraCapabilities.setMaximumFieldOfView(245.5);
+ QCOMPARE(cameraCapabilities.maximumFieldOfView(), 179.0);
+
+ QGeoCameraCapabilities cameraCapabilities2 = cameraCapabilities;
+ QCOMPARE(cameraCapabilities2.maximumFieldOfView(), 179.0);
+ cameraCapabilities.setMaximumFieldOfView(2.5);
+ QCOMPARE(cameraCapabilities2.maximumFieldOfView(), 179.0);
+}
+
void tst_QGeoCameraCapabilities::operatorsTest_data(){
populateGeoCameraCapabilitiesData();
}
@@ -223,15 +274,22 @@ void tst_QGeoCameraCapabilities::operatorsTest(){
QFETCH(double, maximumZoomLevel);
QFETCH(double, minimumTilt);
QFETCH(double, maximumTilt);
+ QFETCH(double, minimumFieldOfView);
+ QFETCH(double, maximumFieldOfView);
QFETCH(bool, bearingSupport);
QFETCH(bool, rollingSupport);
QFETCH(bool, tiltingSupport);
+ minimumFieldOfView = qBound(1.0, minimumFieldOfView, 179.0);
+ maximumFieldOfView = qBound(1.0, maximumFieldOfView, 179.0);
+
QGeoCameraCapabilities cameraCapabilities;
cameraCapabilities.setMinimumZoomLevel(minimumZoomLevel);
cameraCapabilities.setMaximumZoomLevel(maximumZoomLevel);
cameraCapabilities.setMinimumTilt(minimumTilt);
cameraCapabilities.setMaximumTilt(maximumTilt);
+ cameraCapabilities.setMinimumFieldOfView(minimumFieldOfView);
+ cameraCapabilities.setMaximumFieldOfView(maximumFieldOfView);
cameraCapabilities.setSupportsBearing(bearingSupport);
cameraCapabilities.setSupportsRolling(rollingSupport);
cameraCapabilities.setSupportsTilting(tiltingSupport);
@@ -242,17 +300,21 @@ void tst_QGeoCameraCapabilities::operatorsTest(){
QCOMPARE(cameraCapabilities2.maximumZoomLevel(), maximumZoomLevel);
QCOMPARE(cameraCapabilities2.minimumTilt(), minimumTilt);
QCOMPARE(cameraCapabilities2.maximumTilt(), maximumTilt);
- QVERIFY2(cameraCapabilities2.supportsBearing() == bearingSupport, "Copy constructor failed for bearing support");
- QVERIFY2(cameraCapabilities2.supportsRolling() == rollingSupport, "Copy constructor failed for rolling support ");
- QVERIFY2(cameraCapabilities2.supportsTilting() == tiltingSupport, "Copy constructor failed for tilting support");
+ QVERIFY2(cameraCapabilities2.supportsBearing() == bearingSupport, "Assignment operator failed for bearing support");
+ QVERIFY2(cameraCapabilities2.supportsRolling() == rollingSupport, "Assignment operator failed for rolling support ");
+ QVERIFY2(cameraCapabilities2.supportsTilting() == tiltingSupport, "Assignment operator failed for tilting support");
+ QCOMPARE(cameraCapabilities2.minimumFieldOfView(), minimumFieldOfView);
+ QCOMPARE(cameraCapabilities2.maximumFieldOfView(), maximumFieldOfView);
// verify that values have not changed after a constructor copy
QCOMPARE(cameraCapabilities.minimumZoomLevel(), cameraCapabilities2.minimumZoomLevel());
QCOMPARE(cameraCapabilities.maximumZoomLevel(), cameraCapabilities2.maximumZoomLevel());
- QVERIFY2(cameraCapabilities.supportsBearing() == cameraCapabilities2.supportsBearing(), "Copy constructor failed for bearing support");
- QVERIFY2(cameraCapabilities.supportsRolling() == cameraCapabilities2.supportsRolling(), "Copy constructor failed for rolling support ");
- QVERIFY2(cameraCapabilities.supportsTilting() == cameraCapabilities2.supportsTilting(), "Copy constructor failed for tilting support");
+ QVERIFY2(cameraCapabilities.supportsBearing() == cameraCapabilities2.supportsBearing(), "Assignment operator failed for bearing support");
+ QVERIFY2(cameraCapabilities.supportsRolling() == cameraCapabilities2.supportsRolling(), "Assignment operator failed for rolling support ");
+ QVERIFY2(cameraCapabilities.supportsTilting() == cameraCapabilities2.supportsTilting(), "Assignment operator failed for tilting support");
QCOMPARE(cameraCapabilities.minimumTilt(), cameraCapabilities2.minimumTilt());
QCOMPARE(cameraCapabilities.maximumTilt(), cameraCapabilities2.maximumTilt());
+ QCOMPARE(cameraCapabilities.minimumFieldOfView(), cameraCapabilities2.minimumFieldOfView());
+ QCOMPARE(cameraCapabilities.maximumFieldOfView(), cameraCapabilities2.maximumFieldOfView());
}
void tst_QGeoCameraCapabilities::isValidTest(){