summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorPaolo Angelelli <paolo.angelelli@qt.io>2018-06-29 11:34:29 +0200
committerPaolo Angelelli <paolo.angelelli@qt.io>2018-07-23 12:04:55 +0000
commit515c99188f1419514ad48dfa0787cf8bcfca7c19 (patch)
tree25a4bc0553c5817c93e709f2bc02b3b06ee073b7 /tests
parent43b015e21d7d972ef4e9f5189fc2e840f648a492 (diff)
downloadqtlocation-515c99188f1419514ad48dfa0787cf8bcfca7c19.tar.gz
Add property for QGeoPolygon's perimeter and QML autotests using it
QML autotests were previously missing. Change-Id: Id2c3a7fc61c57cef369dda109dbbfca183979443 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/declarative_geoshape/tst_locationsingleton.qml41
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/auto/declarative_geoshape/tst_locationsingleton.qml b/tests/auto/declarative_geoshape/tst_locationsingleton.qml
index 3d6a9f9c..a5e791e0 100644
--- a/tests/auto/declarative_geoshape/tst_locationsingleton.qml
+++ b/tests/auto/declarative_geoshape/tst_locationsingleton.qml
@@ -215,6 +215,28 @@ Item {
verify(path !== QtPositioning.shapeToPath(QtPositioning.path(trace1, 1)))
compare(path, QtPositioning.shapeToPath(QtPositioning.path(trace2, 2)))
}
+
+ function test_shape_polygon_conversions() {
+ var polygon = QtPositioning.shapeToPolygon(QtPositioning.shape())
+ verify(!polygon.isValid)
+ polygon = QtPositioning.shapeToPolygon(QtPositioning.circle())
+ verify(!polygon.isValid)
+ polygon = QtPositioning.shapeToPolygon(QtPositioning.circle(tl, 10000))
+ verify(!polygon.isValid)
+ polygon = QtPositioning.shapeToPolygon(QtPositioning.rectangle())
+ verify(!polygon.isValid)
+ polygon = QtPositioning.shapeToPolygon(QtPositioning.rectangle(tl, br))
+ verify(!polygon.isValid)
+
+ polygon = QtPositioning.shapeToPolygon(QtPositioning.polygon())
+ verify(!polygon.isValid)
+ polygon = QtPositioning.shapeToPolygon(QtPositioning.polygon(trace1))
+ verify(!polygon.isValid) // polygon needs 3 coords at least
+ polygon = QtPositioning.shapeToPolygon(QtPositioning.polygon(trace2))
+ verify(polygon.isValid)
+ verify(polygon !== QtPositioning.shapeToPolygon(QtPositioning.polygon(trace1)))
+ compare(polygon, QtPositioning.shapeToPolygon(QtPositioning.polygon(trace2)))
+ }
}
@@ -314,4 +336,23 @@ Item {
compare(geopath.coordinateAt(0).longitude, 11)
}
}
+
+ TestCase {
+ name: "GeoPolygon path"
+ function test_qgeopolygon_path_operations() {
+ var geopolygon = QtPositioning.polygon()
+
+ geopolygon.perimeter = trace2
+ compare(geopolygon.perimeter.length, trace2.length)
+
+ geopolygon.perimeter = mapPolyline.path
+ compare(geopolygon.perimeter.length, mapPolyline.pathLength())
+ compare(geopolygon.boundingGeoRectangle(), mapPolyline.geoShape.boundingGeoRectangle())
+
+ geopolygon.perimeter = trace2
+ compare(geopolygon.perimeter.length, trace2.length)
+ compare(geopolygon.coordinateAt(0).latitude, trace2[0].latitude)
+ compare(geopolygon.coordinateAt(0).longitude, trace2[0].longitude)
+ }
+ }
}