summaryrefslogtreecommitdiffstats
path: root/tests/auto/geotestplugin/qgeoroutingmanagerengine_test.h
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/geotestplugin/qgeoroutingmanagerengine_test.h')
-rw-r--r--tests/auto/geotestplugin/qgeoroutingmanagerengine_test.h24
1 files changed, 21 insertions, 3 deletions
diff --git a/tests/auto/geotestplugin/qgeoroutingmanagerengine_test.h b/tests/auto/geotestplugin/qgeoroutingmanagerengine_test.h
index b7f6030e..0a0ec463 100644
--- a/tests/auto/geotestplugin/qgeoroutingmanagerengine_test.h
+++ b/tests/auto/geotestplugin/qgeoroutingmanagerengine_test.h
@@ -46,14 +46,17 @@ QT_USE_NAMESPACE
class QGeoRoutePrivateDefaultAlt : public QGeoRoutePrivateDefault
{
public:
- QGeoRoutePrivateDefaultAlt() {}
+ QGeoRoutePrivateDefaultAlt() : QGeoRoutePrivateDefault()
+ {
+ m_travelTime = 123456; // To identify this is actually a QGeoRoutePrivateDefaultAlt
+ }
QGeoRoutePrivateDefaultAlt(const QGeoRoutePrivateDefaultAlt &other)
: QGeoRoutePrivateDefault(other) {}
~QGeoRoutePrivateDefaultAlt() {}
- int travelTime() const override
+ void setTravelTime(int travelTime) override
{
- return 123456; // To identify this is actually a QGeoRoutePrivateDefaultAlt
+ Q_UNUSED(travelTime)
}
};
@@ -164,11 +167,26 @@ public:
void setRoutes(const QGeoRouteRequest& request, RouteReplyTest* reply)
{
QList<QGeoRoute> routes;
+ int travelTime = 0;
+ if (request.extraParameters().contains("test-traveltime"))
+ travelTime = request.extraParameters().value("test-traveltime").value("requestedTime").toInt();
+
for (int i = 0; i < request.numberAlternativeRoutes(); ++i) {
QGeoRoute route;
if (alternateGeoRouteImplementation_)
route = QGeoRouteAlt();
route.setPath(request.waypoints());
+ route.setTravelTime(travelTime);
+
+ const QList<QVariantMap> metadata = request.waypointsMetadata();
+ for (const auto &meta: metadata) {
+ if (meta.contains("extra")) {
+ QVariantMap extra = meta.value("extra").toMap();
+ if (extra.contains("user_distance"))
+ route.setDistance(meta.value("extra").toMap().value("user_distance").toMap().value("distance").toDouble());
+ }
+ }
+
routes.append(route);
}
reply->callSetRoutes(routes);