diff options
author | Paolo Angelelli <paolo.angelelli@qt.io> | 2017-11-06 14:17:42 +0100 |
---|---|---|
committer | Paolo Angelelli <paolo.angelelli@qt.io> | 2017-11-13 12:24:15 +0000 |
commit | 9920be68b52fa08ee961a312e947dcb924deeaf5 (patch) | |
tree | 8ae23729553d6acde59110271fa60d440c7883f5 /tests | |
parent | 8c6338ab979ed2571971cc761dafb1791a653536 (diff) | |
download | qtlocation-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.cpp | 26 | ||||
-rw-r--r-- | tests/auto/qgeorouterequest/tst_qgeorouterequest.h | 2 |
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: |