diff options
Diffstat (limited to 'tests/auto')
-rw-r--r-- | tests/auto/declarative_ui/tst_map_coordinateanimation.qml | 135 | ||||
-rw-r--r-- | tests/auto/doublevectors/doublevectors.pro | 7 | ||||
-rw-r--r-- | tests/auto/doublevectors/tst_doublevectors.cpp | 4 | ||||
-rw-r--r-- | tests/auto/geotestplugin/geotestplugin.pro | 2 | ||||
-rw-r--r-- | tests/auto/qgeocameracapabilities/qgeocameracapabilities.pro | 2 | ||||
-rw-r--r-- | tests/auto/qgeocameradata/qgeocameradata.pro | 2 | ||||
-rw-r--r-- | tests/auto/qgeocameradata/tst_qgeocameradata.cpp | 24 | ||||
-rw-r--r-- | tests/auto/qgeocameratiles/qgeocameratiles.pro | 2 | ||||
-rw-r--r-- | tests/auto/qgeocameratiles/tst_qgeocameratiles.cpp | 4 | ||||
-rw-r--r-- | tests/auto/qgeomapcontroller/qgeomapcontroller.pro | 2 | ||||
-rw-r--r-- | tests/auto/qgeomapcontroller/tst_qgeomapcontroller.cpp | 70 | ||||
-rw-r--r-- | tests/auto/qgeomapscene/qgeomapscene.pro | 2 | ||||
-rw-r--r-- | tests/auto/qgeomapscene/tst_qgeomapscene.cpp | 5 |
13 files changed, 172 insertions, 89 deletions
diff --git a/tests/auto/declarative_ui/tst_map_coordinateanimation.qml b/tests/auto/declarative_ui/tst_map_coordinateanimation.qml new file mode 100644 index 00000000..72c6aed8 --- /dev/null +++ b/tests/auto/declarative_ui/tst_map_coordinateanimation.qml @@ -0,0 +1,135 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +import QtQuick 2.0 +import QtTest 1.0 +import QtLocation 5.0 +import QtPositioning 5.3 + +Item { + width:100 + height:100 + // General-purpose elements for the test: + Plugin { id: testPlugin; name: "qmlgeo.test.plugin"; allowExperimental: true } + + + property var coordinateList: [] + property int coordinateCount: 0 + property int animationDuration: 100 + + Map {id: map + plugin: testPlugin + width: 100 + height: 100 + Behavior on center { CoordinateAnimation { duration: animationDuration } } + + onCenterChanged: { + if (!coordinateList) { + coordinateList = [] + } + + coordinateList[coordinateCount] = {'latitude': center.latitude, 'longitude': center.longitude} + coordinateCount++ + } + } + + function toMercator(coord) { + var pi = Math.PI + var lon = coord.longitude / 360.0 + 0.5; + + var lat = coord.latitude; + lat = 0.5 - (Math.log(Math.tan((pi / 4.0) + (pi / 2.0) * lat / 180.0)) / pi) / 2.0; + lat = Math.max(0.0, lat); + lat = Math.min(1.0, lat); + + return {'latitude': lat, 'longitude': lon}; + } + + TestCase { + when: windowShown + name: "Coordinate animation" + + function test_coordinate_animation() { + + coordinateList = [] + coordinateCount = 0 + + var from = {'latitude': 58.0, 'longitude': 12.0} + var to = {'latitude': 62.0, 'longitude': 24.0} + + + var fromMerc = toMercator(from) + var toMerc = toMercator(to) + + var delta = (toMerc.latitude - fromMerc.latitude) / (toMerc.longitude - fromMerc.longitude) + + map.center = QtPositioning.coordinate(from.latitude, from.longitude) + wait(animationDuration * 2) + map.center = QtPositioning.coordinate(to.latitude, to.longitude) + wait(animationDuration * 2) + + //check correct start position + compare(coordinateList[0].latitude, from.latitude) + compare(coordinateList[0].longitude, from.longitude) + + //check correct end position + compare(coordinateList[coordinateList.length - 1].latitude, to.latitude) + compare(coordinateList[coordinateList.length - 1].longitude, to.longitude) + + var i + var lastLatitude + for (i in coordinateList) { + var coordinate = coordinateList[i] + var mercCoordinate = toMercator(coordinate) + + //check that coordinates from the animation is along a straight line between from and to + var estimatedLatitude = fromMerc.latitude + (mercCoordinate.longitude - fromMerc.longitude) * delta + verify(mercCoordinate.latitude - estimatedLatitude < 0.00000000001); + + //check that each step has moved in the right direction + if (lastLatitude) { + verify(coordinate.latitude > lastLatitude) + } + lastLatitude = coordinate.latitude + } + } + } +} diff --git a/tests/auto/doublevectors/doublevectors.pro b/tests/auto/doublevectors/doublevectors.pro index 98899218..aa42120d 100644 --- a/tests/auto/doublevectors/doublevectors.pro +++ b/tests/auto/doublevectors/doublevectors.pro @@ -1,11 +1,8 @@ TEMPLATE = app CONFIG += testcase TARGET = tst_doublevectors -INCLUDEPATH += ../../../src/location/maps -SOURCES += tst_doublevectors.cpp \ - ../../../src/location/maps/qdoublevector3d.cpp \ - ../../../src/location/maps/qdoublevector2d.cpp +SOURCES += tst_doublevectors.cpp -QT += location testlib +QT += positioning-private testlib DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0 diff --git a/tests/auto/doublevectors/tst_doublevectors.cpp b/tests/auto/doublevectors/tst_doublevectors.cpp index 9ca1ec17..79fe3a88 100644 --- a/tests/auto/doublevectors/tst_doublevectors.cpp +++ b/tests/auto/doublevectors/tst_doublevectors.cpp @@ -42,8 +42,8 @@ #include <QtCore/QString> #include <QtTest/QtTest> -#include "qdoublevector2d_p.h" -#include "qdoublevector3d_p.h" +#include <QtPositioning/private/qdoublevector2d_p.h> +#include <QtPositioning/private/qdoublevector3d_p.h> QT_USE_NAMESPACE diff --git a/tests/auto/geotestplugin/geotestplugin.pro b/tests/auto/geotestplugin/geotestplugin.pro index 3737414e..2519b7d0 100644 --- a/tests/auto/geotestplugin/geotestplugin.pro +++ b/tests/auto/geotestplugin/geotestplugin.pro @@ -1,5 +1,5 @@ TARGET = qtgeoservices_qmltestplugin -QT += location-private testlib +QT += location-private positioning-private testlib PLUGIN_TYPE = geoservices load(qt_plugin) diff --git a/tests/auto/qgeocameracapabilities/qgeocameracapabilities.pro b/tests/auto/qgeocameracapabilities/qgeocameracapabilities.pro index db13ac9b..ec406d8b 100644 --- a/tests/auto/qgeocameracapabilities/qgeocameracapabilities.pro +++ b/tests/auto/qgeocameracapabilities/qgeocameracapabilities.pro @@ -6,5 +6,5 @@ INCLUDEPATH += ../../../src/location/maps SOURCES += tst_qgeocameracapabilities.cpp -QT += location testlib +QT += location positioning-private testlib DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0 diff --git a/tests/auto/qgeocameradata/qgeocameradata.pro b/tests/auto/qgeocameradata/qgeocameradata.pro index f01d0f34..39f154d2 100644 --- a/tests/auto/qgeocameradata/qgeocameradata.pro +++ b/tests/auto/qgeocameradata/qgeocameradata.pro @@ -6,5 +6,5 @@ INCLUDEPATH += ../../../src/location/maps SOURCES += tst_qgeocameradata.cpp -QT += location testlib +QT += location positioning-private testlib DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0 diff --git a/tests/auto/qgeocameradata/tst_qgeocameradata.cpp b/tests/auto/qgeocameradata/tst_qgeocameradata.cpp index 3147f057..e273711a 100644 --- a/tests/auto/qgeocameradata/tst_qgeocameradata.cpp +++ b/tests/auto/qgeocameradata/tst_qgeocameradata.cpp @@ -46,21 +46,6 @@ QT_USE_NAMESPACE -// For testing the setters and getters of the QGeoCoordinateInterpolator shared pointer -class QGeoCoordinateInterpolatorTest : public QGeoCoordinateInterpolator -{ -public: - QGeoCoordinateInterpolatorTest(){} - ~QGeoCoordinateInterpolatorTest(){} - QGeoCoordinate interpolate(const QGeoCoordinate &start, const QGeoCoordinate &end, qreal progress){ - Q_UNUSED(start); - Q_UNUSED(end); - Q_UNUSED(progress); - return QGeoCoordinate(); - } -}; - - class tst_QGeoCameraData : public QObject { Q_OBJECT @@ -79,7 +64,6 @@ private Q_SLOTS: void tiltTest(); void rollTest(); void zoomLevelTest(); - void coordinateInterpolatorTest(); void operatorsTest_data(); void operatorsTest(); }; @@ -198,14 +182,6 @@ void tst_QGeoCameraData::zoomLevelTest(){ QCOMPARE(cameraData2.zoomLevel(),8.0); } -void tst_QGeoCameraData::coordinateInterpolatorTest(){ - QGeoCameraData cameraData; - QVERIFY2(cameraData.coordinateInterpolator().isNull(), "Default coordinate interpolator shared point is not null"); - QSharedPointer<QGeoCoordinateInterpolator> testPointer = QSharedPointer<QGeoCoordinateInterpolator>(new QGeoCoordinateInterpolatorTest()); - cameraData.setCoordinateInterpolator(testPointer); - QVERIFY2(!cameraData.coordinateInterpolator().isNull(), "Coordinate interpolator shared point is null"); -} - void tst_QGeoCameraData::operatorsTest_data(){ populateCameraData(); } diff --git a/tests/auto/qgeocameratiles/qgeocameratiles.pro b/tests/auto/qgeocameratiles/qgeocameratiles.pro index 35f188eb..1c53e627 100644 --- a/tests/auto/qgeocameratiles/qgeocameratiles.pro +++ b/tests/auto/qgeocameratiles/qgeocameratiles.pro @@ -5,5 +5,5 @@ INCLUDEPATH += ../../../src/location/maps SOURCES += tst_qgeocameratiles.cpp -QT += location testlib 3d +QT += location positioning-private testlib 3d DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0 diff --git a/tests/auto/qgeocameratiles/tst_qgeocameratiles.cpp b/tests/auto/qgeocameratiles/tst_qgeocameratiles.cpp index fb666424..2aa55f49 100644 --- a/tests/auto/qgeocameratiles/tst_qgeocameratiles.cpp +++ b/tests/auto/qgeocameratiles/tst_qgeocameratiles.cpp @@ -44,10 +44,10 @@ #include "qgeotilespec_p.h" #include "qgeocameratiles_p.h" #include "qgeocameradata_p.h" -#include "qgeoprojection_p.h" -#include "qdoublevector2d_p.h" #include "qgeomaptype_p.h" +#include <QtPositioning/private/qgeoprojection_p.h> +#include <QtPositioning/private/qdoublevector2d_p.h> #include <qtest.h> #include <QList> diff --git a/tests/auto/qgeomapcontroller/qgeomapcontroller.pro b/tests/auto/qgeomapcontroller/qgeomapcontroller.pro index 352960b7..8f5827b9 100644 --- a/tests/auto/qgeomapcontroller/qgeomapcontroller.pro +++ b/tests/auto/qgeomapcontroller/qgeomapcontroller.pro @@ -13,5 +13,5 @@ HEADERS += ../geotestplugin/qgeoserviceproviderplugin_test.h \ SOURCES += tst_qgeomapcontroller.cpp SOURCES += ../geotestplugin/qgeoserviceproviderplugin_test.cpp -QT += location-private testlib +QT += location-private positioning-private testlib DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0 diff --git a/tests/auto/qgeomapcontroller/tst_qgeomapcontroller.cpp b/tests/auto/qgeomapcontroller/tst_qgeomapcontroller.cpp index 564b5a3c..0123d375 100644 --- a/tests/auto/qgeomapcontroller/tst_qgeomapcontroller.cpp +++ b/tests/auto/qgeomapcontroller/tst_qgeomapcontroller.cpp @@ -81,8 +81,6 @@ private Q_SLOTS: void rollTest(); void panTest(); void zoomTest(); - - void animatableCoordinateTest(); }; tst_QGeoMapController::tst_QGeoMapController() @@ -102,7 +100,7 @@ tst_QGeoMapController::tst_QGeoMapController() map_->resize(100, 100); - signalCenterChanged_ = new QSignalSpy(map_->mapController(), SIGNAL(centerChanged(AnimatableCoordinate))); + signalCenterChanged_ = new QSignalSpy(map_->mapController(), SIGNAL(centerChanged(QGeoCoordinate))); signalBearingChanged_ = new QSignalSpy(map_->mapController(), SIGNAL(bearingChanged(qreal))); signalTiltChanged_ = new QSignalSpy(map_->mapController(), SIGNAL(tiltChanged(qreal))); signalRollChanged_ = new QSignalSpy(map_->mapController(), SIGNAL(rollChanged(qreal))); @@ -166,13 +164,12 @@ void tst_QGeoMapController::constructorTest() cameraData.setRoll(roll); cameraData.setZoomLevel(zoom); map_->setCameraData(cameraData); - QSharedPointer<QGeoCoordinateInterpolator> coordinateInterpolator; - QGeoMapController mapController(map_, coordinateInterpolator); + QGeoMapController mapController(map_); // make sure the values come out the same // also make sure the values match what they were actually set to - QCOMPARE(mapController.center().coordinate(), cameraData.center()); - QCOMPARE(mapController.center().coordinate(), center); + QCOMPARE(mapController.center(), cameraData.center()); + QCOMPARE(mapController.center(), center); QCOMPARE(mapController.zoom(), cameraData.zoomLevel()); QCOMPARE(mapController.zoom(), zoom); @@ -192,14 +189,13 @@ void tst_QGeoMapController::constructorTest() void tst_QGeoMapController::centerTest() { - QSharedPointer<QGeoCoordinateInterpolator> coordinateInterpolator; QGeoCameraData cameraData; cameraData.setCenter(QGeoCoordinate(10.0,-20.4,30.8)); map_->setCameraData(cameraData); - QGeoMapController mapController(map_, coordinateInterpolator); - QCOMPARE(mapController.center().coordinate(),QGeoCoordinate(10.0,-20.4,30.8)); + QGeoMapController mapController(map_); + QCOMPARE(mapController.center(),QGeoCoordinate(10.0,-20.4,30.8)); - AnimatableCoordinate coord(QGeoCoordinate(10.0,20.4,30.8), coordinateInterpolator); + QGeoCoordinate coord(10.0,20.4,30.8); clearSignalSpies(); mapController.setCenter(coord); @@ -210,10 +206,10 @@ void tst_QGeoMapController::centerTest() QCOMPARE(signalRollChanged_->count(),0); QCOMPARE(signalZoomChanged_->count(),0); - QCOMPARE(mapController.center().coordinate(),QGeoCoordinate(10.0,20.4,30.8)); + QCOMPARE(mapController.center(),QGeoCoordinate(10.0,20.4,30.8)); - mapController.setCenter(AnimatableCoordinate(QGeoCoordinate(10.0,20.4,30.9), coordinateInterpolator)); - QCOMPARE(mapController.center().coordinate(),QGeoCoordinate(10.0,20.4,30.9)); + mapController.setCenter(QGeoCoordinate(10.0,20.4,30.9)); + QCOMPARE(mapController.center(),QGeoCoordinate(10.0,20.4,30.9)); } void tst_QGeoMapController::bearingTest() @@ -224,8 +220,7 @@ void tst_QGeoMapController::bearingTest() QGeoCameraData cameraData; cameraData.setBearing(bearing); map_->setCameraData(cameraData); - QSharedPointer<QGeoCoordinateInterpolator> coordinateInterpolator; - QGeoMapController mapController(map_, coordinateInterpolator); + QGeoMapController mapController(map_); QCOMPARE(mapController.bearing(),bearing); clearSignalSpies(); @@ -249,8 +244,7 @@ void tst_QGeoMapController::tiltTest() QGeoCameraData cameraData; cameraData.setTilt(tilt); map_->setCameraData(cameraData); - QSharedPointer<QGeoCoordinateInterpolator> coordinateInterpolator; - QGeoMapController mapController(map_, coordinateInterpolator); + QGeoMapController mapController(map_); QCOMPARE(mapController.tilt(),tilt); tilt = map_->cameraCapabilities().minimumTilt(); @@ -275,8 +269,7 @@ void tst_QGeoMapController::rollTest() QGeoCameraData cameraData; cameraData.setRoll(roll); map_->setCameraData(cameraData); - QSharedPointer<QGeoCoordinateInterpolator> coordinateInterpolator; - QGeoMapController mapController(map_, coordinateInterpolator); + QGeoMapController mapController(map_); QCOMPARE(mapController.roll(),roll); clearSignalSpies(); @@ -294,16 +287,15 @@ void tst_QGeoMapController::rollTest() void tst_QGeoMapController::panTest() { - QSharedPointer<QGeoCoordinateInterpolator> coordinateInterpolator; - QGeoMapController mapController(map_, coordinateInterpolator); + QGeoMapController mapController(map_); - mapController.setCenter(AnimatableCoordinate(QGeoCoordinate(-1.0,-2.4,3.8), coordinateInterpolator)); + mapController.setCenter(QGeoCoordinate(-1.0,-2.4,3.8)); // check that pan of zero leaves the camera centre unaltered mapController.pan(0, 0); - QCOMPARE(mapController.center().coordinate().altitude(), 3.8); - QCOMPARE(mapController.center().coordinate().latitude(), -1.0); - QCOMPARE(mapController.center().coordinate().longitude(), -2.4); + QCOMPARE(mapController.center().altitude(), 3.8); + QCOMPARE(mapController.center().latitude(), -1.0); + QCOMPARE(mapController.center().longitude(), -2.4); qreal dx = 13.1; qreal dy = -9.3; @@ -312,9 +304,9 @@ void tst_QGeoMapController::panTest() // rather than verify the exact new position, we check that the position has changed and the altitude // is unaffected - QCOMPARE(mapController.center().coordinate().altitude(), 3.8); - QVERIFY(qFuzzyCompare(mapController.center().coordinate().latitude(), -1.0) == false); - QVERIFY(qFuzzyCompare(mapController.center().coordinate().longitude(), -2.4) == false); + QCOMPARE(mapController.center().altitude(), 3.8); + QVERIFY(qFuzzyCompare(mapController.center().latitude(), -1.0) == false); + QVERIFY(qFuzzyCompare(mapController.center().longitude(), -2.4) == false); // check correct signal is triggered QCOMPARE(signalCenterChanged_->count(),1); @@ -329,8 +321,7 @@ void tst_QGeoMapController::zoomTest() QGeoCameraData cameraData; cameraData.setZoomLevel(1.4); map_->setCameraData(cameraData); - QSharedPointer<QGeoCoordinateInterpolator> coordinateInterpolator; - QGeoMapController mapController(map_, coordinateInterpolator); + QGeoMapController mapController(map_); QCOMPARE(mapController.zoom(),1.4); mapController.setZoom(1.4); @@ -347,23 +338,6 @@ void tst_QGeoMapController::zoomTest() QCOMPARE(signalZoomChanged_->count(),1); } -void tst_QGeoMapController::animatableCoordinateTest() -{ - QSharedPointer<QGeoCoordinateInterpolator> coordinateInterpolator; - - // modifier tests - AnimatableCoordinate animCoordinate; - animCoordinate.setCoordinate(QGeoCoordinate(-1.0,-2.4,3.8)); - QCOMPARE(animCoordinate.coordinate(), QGeoCoordinate(-1.0,-2.4,3.8)); - - animCoordinate.setInterpolator(coordinateInterpolator); - QCOMPARE(animCoordinate.interpolator(), coordinateInterpolator); - - // constructor test - AnimatableCoordinate animCoordinateB(QGeoCoordinate(-1.0,-2.4,3.8), coordinateInterpolator); - QCOMPARE(animCoordinateB.coordinate(), QGeoCoordinate(-1.0,-2.4,3.8)); - QCOMPARE(animCoordinateB.interpolator(), coordinateInterpolator); -} QTEST_APPLESS_MAIN(tst_QGeoMapController) diff --git a/tests/auto/qgeomapscene/qgeomapscene.pro b/tests/auto/qgeomapscene/qgeomapscene.pro index c7e984e4..a1bacb05 100644 --- a/tests/auto/qgeomapscene/qgeomapscene.pro +++ b/tests/auto/qgeomapscene/qgeomapscene.pro @@ -5,5 +5,5 @@ INCLUDEPATH += ../../../src/location/maps SOURCES += tst_qgeomapscene.cpp -QT += location 3d testlib +QT += location positioning-private 3d testlib DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0 diff --git a/tests/auto/qgeomapscene/tst_qgeomapscene.cpp b/tests/auto/qgeomapscene/tst_qgeomapscene.cpp index eac628c4..57fc474d 100644 --- a/tests/auto/qgeomapscene/tst_qgeomapscene.cpp +++ b/tests/auto/qgeomapscene/tst_qgeomapscene.cpp @@ -45,10 +45,11 @@ #include "qgeomapscene_p.h" #include "qgeocameratiles_p.h" #include "qgeocameradata_p.h" -#include "qgeoprojection_p.h" -#include "qdoublevector2d_p.h" #include "qgeotilecache_p.h" +#include <QtPositioning/private/qgeoprojection_p.h> +#include <QtPositioning/private/qdoublevector2d_p.h> + #include <Qt3D/qglscenenode.h> #include <Qt3D/qgltexture2d.h> |