summaryrefslogtreecommitdiff
path: root/tests/auto/declarative_geoshape/tst_locationsingleton.qml
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/declarative_geoshape/tst_locationsingleton.qml')
-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)
+ }
+ }
}