diff options
author | Paolo Angelelli <paolo.angelelli@qt.io> | 2017-07-18 11:26:29 +0200 |
---|---|---|
committer | Paolo Angelelli <paolo.angelelli@qt.io> | 2017-07-31 12:59:58 +0000 |
commit | 11da6dec6d47e7670482ed146cced92573cc0b85 (patch) | |
tree | dbfb0e3a4f48b1f5e827d48c2ffcf327d5cb3511 /tests/auto/maptype/tst_maptype.cpp | |
parent | a4a8d12237c630017a0093823fa9dc9848620eed (diff) | |
download | qtlocation-11da6dec6d47e7670482ed146cced92573cc0b85.tar.gz |
Add camera capabilities + metadata to QGeoMapType/QDeclarativeGeoMapType
This patch enriches QGeoMapType/QDeclarativeGeoMapType embedding into
this object the camera capabilities for this type, that are then exposed
via a new QML Type, CameraCapabilities, and custom metadata in form
of a QVariantMap, that can be accessed via the new metadata property.
[ChangeLog][QtLocation][QDeclarativeGeoMapType] Added CameraCapabilities
and metadata properties to QDeclarativeGeoMapType.
Task-number: QTBUG-58931
Change-Id: I97a8852fbb3bbac88fdbf0d47e8247ea7ed1f31e
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Diffstat (limited to 'tests/auto/maptype/tst_maptype.cpp')
-rw-r--r-- | tests/auto/maptype/tst_maptype.cpp | 72 |
1 files changed, 55 insertions, 17 deletions
diff --git a/tests/auto/maptype/tst_maptype.cpp b/tests/auto/maptype/tst_maptype.cpp index 43d3175c..f571158e 100644 --- a/tests/auto/maptype/tst_maptype.cpp +++ b/tests/auto/maptype/tst_maptype.cpp @@ -28,6 +28,7 @@ #include <QtCore/QString> #include <QtTest/QtTest> +#include <QVariantMap> #include <QtLocation/private/qgeomaptype_p.h> @@ -52,9 +53,18 @@ tst_MapType::tst_MapType() {} void tst_MapType::constructorTest() { + QGeoCameraCapabilities capabilities; + capabilities.setMinimumZoomLevel(0.0); + capabilities.setMaximumZoomLevel(20.0); + capabilities.setSupportsBearing(true); + capabilities.setSupportsTilting(true); + capabilities.setMinimumTilt(0); + capabilities.setMaximumTilt(60); + capabilities.setMinimumFieldOfView(20); + capabilities.setMaximumFieldOfView(90); const QByteArray pluginName = "tst_MapType"; QGeoMapType *testObjPtr = new QGeoMapType(QGeoMapType::StreetMap, QStringLiteral("street map"), - QStringLiteral("map description"), true, true, 1, pluginName); + QStringLiteral("map description"), true, true, 1, pluginName, capabilities); QVERIFY(testObjPtr); QCOMPARE(testObjPtr->style(), QGeoMapType::StreetMap); QCOMPARE(testObjPtr->name(), QStringLiteral("street map")); @@ -63,6 +73,8 @@ void tst_MapType::constructorTest() QVERIFY(testObjPtr->night()); QCOMPARE(testObjPtr->mapId(), 1); QCOMPARE(testObjPtr->pluginName(), pluginName); + QCOMPARE(testObjPtr->cameraCapabilities(), capabilities); + QCOMPARE(testObjPtr->metadata(), QVariantMap()); delete testObjPtr; testObjPtr = new QGeoMapType(); @@ -73,6 +85,7 @@ void tst_MapType::constructorTest() QVERIFY2(!testObjPtr->night(), "Wrong default value"); QCOMPARE(testObjPtr->mapId(), 0); QCOMPARE(testObjPtr->pluginName(), QByteArrayLiteral("")); + QCOMPARE(testObjPtr->cameraCapabilities(), QGeoCameraCapabilities()); delete testObjPtr; } @@ -83,57 +96,82 @@ void tst_MapType::comparison_data() QTest::addColumn<bool>("expected"); const QByteArray pluginName = "tst_MapType"; + QGeoCameraCapabilities capabilities; + capabilities.setMinimumZoomLevel(0.0); + capabilities.setMaximumZoomLevel(20.0); + capabilities.setSupportsBearing(true); + capabilities.setSupportsTilting(true); + capabilities.setMinimumTilt(0); + capabilities.setMaximumTilt(60); + capabilities.setMinimumFieldOfView(20); + capabilities.setMaximumFieldOfView(90); + QGeoCameraCapabilities capabilities2 = capabilities; + capabilities2.setMaximumFieldOfView(80); QTest::newRow("null") << QGeoMapType() << QGeoMapType() << true; QTest::newRow("equal") << QGeoMapType(QGeoMapType::StreetMap, QStringLiteral("street name"), - QStringLiteral("street desc"), false, false, 42, pluginName) + QStringLiteral("street desc"), false, false, 42, pluginName, capabilities) << QGeoMapType(QGeoMapType::StreetMap, QStringLiteral("street name"), - QStringLiteral("street desc"), false, false, 42, pluginName) + QStringLiteral("street desc"), false, false, 42, pluginName, capabilities) << true; QTest::newRow("style") << QGeoMapType(QGeoMapType::StreetMap, QStringLiteral("street name"), - QStringLiteral("street desc"), false, false, 42, pluginName) + QStringLiteral("street desc"), false, false, 42, pluginName, capabilities) << QGeoMapType(QGeoMapType::TerrainMap, QStringLiteral("street name"), - QStringLiteral("street desc"), false, false, 42, pluginName) + QStringLiteral("street desc"), false, false, 42, pluginName, capabilities) << false; QTest::newRow("name") << QGeoMapType(QGeoMapType::StreetMap, QStringLiteral("street name"), - QStringLiteral("street desc"), false, false, 42, pluginName) + QStringLiteral("street desc"), false, false, 42, pluginName, capabilities) << QGeoMapType(QGeoMapType::StreetMap, QStringLiteral("different name"), - QStringLiteral("street desc"), false, false, 42, pluginName) + QStringLiteral("street desc"), false, false, 42, pluginName, capabilities) << false; QTest::newRow("description") << QGeoMapType(QGeoMapType::StreetMap, QStringLiteral("street name"), - QStringLiteral("street desc"), false, false, 42, pluginName) + QStringLiteral("street desc"), false, false, 42, pluginName, capabilities) << QGeoMapType(QGeoMapType::StreetMap, QStringLiteral("street name"), - QStringLiteral("different desc"), false, false, 42, pluginName) + QStringLiteral("different desc"), false, false, 42, pluginName, capabilities) << false; QTest::newRow("mobile") << QGeoMapType(QGeoMapType::StreetMap, QStringLiteral("street name"), - QStringLiteral("street desc"), false, false, 42, pluginName) + QStringLiteral("street desc"), false, false, 42, pluginName, capabilities) << QGeoMapType(QGeoMapType::StreetMap, QStringLiteral("street name"), - QStringLiteral("street desc"), true, false, 42, pluginName) + QStringLiteral("street desc"), true, false, 42, pluginName, capabilities) << false; QTest::newRow("night") << QGeoMapType(QGeoMapType::StreetMap, QStringLiteral("street name"), - QStringLiteral("street desc"), false, false, 42, pluginName) + QStringLiteral("street desc"), false, false, 42, pluginName, capabilities) << QGeoMapType(QGeoMapType::StreetMap, QStringLiteral("street name"), - QStringLiteral("street desc"), false, true, 42, pluginName) + QStringLiteral("street desc"), false, true, 42, pluginName, capabilities) << false; QTest::newRow("id") << QGeoMapType(QGeoMapType::StreetMap, QStringLiteral("street name"), - QStringLiteral("street desc"), false, false, 42, pluginName) + QStringLiteral("street desc"), false, false, 42, pluginName, capabilities) << QGeoMapType(QGeoMapType::StreetMap, QStringLiteral("street name"), - QStringLiteral("street desc"), false, false, 99, pluginName) + QStringLiteral("street desc"), false, false, 99, pluginName, capabilities) << false; QTest::newRow("plugin_name") << QGeoMapType(QGeoMapType::StreetMap, QStringLiteral("street name"), - QStringLiteral("street desc"), false, false, 42, pluginName) + QStringLiteral("street desc"), false, false, 42, pluginName, capabilities) << QGeoMapType(QGeoMapType::StreetMap, QStringLiteral("street name"), - QStringLiteral("street desc"), false, false, 42, QByteArrayLiteral("abc")) + QStringLiteral("street desc"), false, false, 42, QByteArrayLiteral("abc"), capabilities) + << false; + + QTest::newRow("camera_capabilities") << QGeoMapType(QGeoMapType::StreetMap, QStringLiteral("street name"), + QStringLiteral("street desc"), false, false, 42, pluginName, capabilities) + << QGeoMapType(QGeoMapType::StreetMap, QStringLiteral("street name"), + QStringLiteral("street desc"), false, false, 42, pluginName, capabilities2) + << false; + + QVariantMap metadata; + metadata["foo"] = 42; + QTest::newRow("metadata") << QGeoMapType(QGeoMapType::StreetMap, QStringLiteral("street name"), + QStringLiteral("street desc"), false, false, 42, pluginName, capabilities) + << QGeoMapType(QGeoMapType::StreetMap, QStringLiteral("street name"), + QStringLiteral("street desc"), false, false, 42, pluginName, capabilities, metadata) << false; } |