summaryrefslogtreecommitdiffstats
path: root/tests/auto/qgeoroutexmlparser/tst_qgeoroutexmlparser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/qgeoroutexmlparser/tst_qgeoroutexmlparser.cpp')
-rw-r--r--tests/auto/qgeoroutexmlparser/tst_qgeoroutexmlparser.cpp29
1 files changed, 24 insertions, 5 deletions
diff --git a/tests/auto/qgeoroutexmlparser/tst_qgeoroutexmlparser.cpp b/tests/auto/qgeoroutexmlparser/tst_qgeoroutexmlparser.cpp
index 9fb51cc6..1dde8b33 100644
--- a/tests/auto/qgeoroutexmlparser/tst_qgeoroutexmlparser.cpp
+++ b/tests/auto/qgeoroutexmlparser/tst_qgeoroutexmlparser.cpp
@@ -47,6 +47,9 @@
#include <QMetaType>
#include <QDebug>
#include <QFile>
+#include <QSignalSpy>
+
+Q_DECLARE_METATYPE(QList<QGeoRoute>)
QT_USE_NAMESPACE
@@ -58,7 +61,9 @@ public:
tst_QGeoRouteXmlParser()
: start(0.0, 0.0),
end(1.0, 1.0)
- {}
+ {
+ qRegisterMetaType<QList<QGeoRoute> >();
+ }
private:
// dummy values for creating the request object
@@ -74,11 +79,18 @@ private slots:
QGeoRouteRequest req(start, end);
QGeoRouteXmlParser xp(req);
+ xp.setAutoDelete(false);
+
+ QSignalSpy resultsSpy(&xp, SIGNAL(results(QList<QGeoRoute>)));
+
+ xp.parse(f.readAll());
- QVERIFY(xp.parse(&f));
+ QTRY_COMPARE(resultsSpy.count(), 1);
+
+ QVariantList arguments = resultsSpy.first();
// xml contains exactly 1 route
- QList<QGeoRoute> results = xp.results();
+ QList<QGeoRoute> results = arguments.at(0).value<QList<QGeoRoute> >();
QCOMPARE(results.size(), 1);
QGeoRoute route = results.first();
@@ -121,11 +133,18 @@ private slots:
QGeoRouteRequest req(start, end);
QGeoRouteXmlParser xp(req);
+ xp.setAutoDelete(false);
+
+ QSignalSpy resultsSpy(&xp, SIGNAL(results(QList<QGeoRoute>)));
+
+ xp.parse(f.readAll());
+
+ QTRY_COMPARE(resultsSpy.count(), 1);
- QVERIFY(xp.parse(&f));
+ QVariantList arguments = resultsSpy.first();
// xml contains exactly 1 route
- QList<QGeoRoute> results = xp.results();
+ QList<QGeoRoute> results = arguments.at(0).value<QList<QGeoRoute> >();
QCOMPARE(results.size(), 1);
QGeoRoute route = results.first();