summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorPaolo Angelelli <paolo.angelelli@qt.io>2017-11-06 14:17:42 +0100
committerPaolo Angelelli <paolo.angelelli@qt.io>2017-11-13 12:24:15 +0000
commit9920be68b52fa08ee961a312e947dcb924deeaf5 (patch)
tree8ae23729553d6acde59110271fa60d440c7883f5 /tests
parent8c6338ab979ed2571971cc761dafb1791a653536 (diff)
downloadqtlocation-9920be68b52fa08ee961a312e947dcb924deeaf5.tar.gz
Allow to specify extra parameters in QGeoRouteQuery
These parameters should be in the form of a QMap<QString, QVariantMap>, where the key is the parameter type, and the value is a map of <property name, property value>. These parameters are supposed to be backend specific, and documented per-plugin. Change-Id: I180b67900b58b933b31bf2efd96842e345df2387 Reviewed-by: Bruno de Oliveira Abinader <brunoabinader@gmail.com> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/qgeorouterequest/tst_qgeorouterequest.cpp26
-rw-r--r--tests/auto/qgeorouterequest/tst_qgeorouterequest.h2
2 files changed, 28 insertions, 0 deletions
diff --git a/tests/auto/qgeorouterequest/tst_qgeorouterequest.cpp b/tests/auto/qgeorouterequest/tst_qgeorouterequest.cpp
index 5c43de65..508571c3 100644
--- a/tests/auto/qgeorouterequest/tst_qgeorouterequest.cpp
+++ b/tests/auto/qgeorouterequest/tst_qgeorouterequest.cpp
@@ -319,5 +319,31 @@ void tst_QGeoRouteRequest::featureWeight()
QVERIFY(qgeorouterequest->featureTypes().contains(type));
}
+void tst_QGeoRouteRequest::extraParameters_data()
+{
+ QTest::addColumn<QMap<QString, QVariantMap>>("extraParameters");
+
+ QMap<QString, QVariantMap> params;
+ QTest::newRow("Empty") << params;
+
+ params["param1"] = {{"property1", QVariant(42)} , {"property2", QVariant("42")} , {"property3", QVariant("42.0")}};
+
+ QTest::newRow("One param") << params;
+
+ params["param2"] = {{"property1", QVariant(43)} , {"property2", QVariant("43")} , {"property3", QVariant("43.0")}};
+
+ QTest::newRow("Two params") << params;
+}
+
+void tst_QGeoRouteRequest::extraParameters()
+{
+ typedef QMap<QString, QVariantMap> ParameterType;
+ QFETCH(ParameterType , extraParameters);
+ QMap<QString, QVariantMap> emptyParams;
+ qgeorouterequest->setExtraParameters(extraParameters);
+ QCOMPARE(qgeorouterequest->extraParameters(), extraParameters);
+ qgeorouterequest->setExtraParameters(emptyParams);
+ QCOMPARE(qgeorouterequest->extraParameters(), emptyParams);
+}
QTEST_APPLESS_MAIN(tst_QGeoRouteRequest);
diff --git a/tests/auto/qgeorouterequest/tst_qgeorouterequest.h b/tests/auto/qgeorouterequest/tst_qgeorouterequest.h
index 736510ff..12506cf6 100644
--- a/tests/auto/qgeorouterequest/tst_qgeorouterequest.h
+++ b/tests/auto/qgeorouterequest/tst_qgeorouterequest.h
@@ -72,6 +72,8 @@ private Q_SLOTS:
void maneuverDetail_data();
void featureWeight();
void featureWeight_data();
+ void extraParameters();
+ void extraParameters_data();
//End Unit Test for QGeoRouteRequest
private: