diff options
Diffstat (limited to 'tests/auto/qgeoroutexmlparser/tst_qgeoroutexmlparser.cpp')
-rw-r--r-- | tests/auto/qgeoroutexmlparser/tst_qgeoroutexmlparser.cpp | 29 |
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(); |