diff options
Diffstat (limited to 'tests/auto/declarative_ui/tst_map_item.qml')
-rw-r--r-- | tests/auto/declarative_ui/tst_map_item.qml | 176 |
1 files changed, 82 insertions, 94 deletions
diff --git a/tests/auto/declarative_ui/tst_map_item.qml b/tests/auto/declarative_ui/tst_map_item.qml index 2f6fedc3..8ede357f 100644 --- a/tests/auto/declarative_ui/tst_map_item.qml +++ b/tests/auto/declarative_ui/tst_map_item.qml @@ -30,6 +30,7 @@ import QtQuick 2.0 import QtTest 1.0 import QtLocation 5.6 import QtPositioning 5.5 +import QtLocation.Test 5.6 /* @@ -62,7 +63,6 @@ Item { height: 240 Plugin { id: testPlugin; name : "qmlgeo.test.plugin"; allowExperimental: true } - property variant mapDefaultCenter: QtPositioning.coordinate(20, 20) property variant someCoordinate1: QtPositioning.coordinate(15, 15) property variant someCoordinate2: QtPositioning.coordinate(16, 16) @@ -110,21 +110,10 @@ Item { id: map; x: 20; y: 20; width: 200; height: 200 zoomLevel: 9 - center: mapDefaultCenter plugin: testPlugin; MapRectangle { id: preMapRect - color: 'darkcyan' - border.width: 0 - topLeft { - latitude: 20 - longitude: 20 - } - bottomRight { - latitude: 10 - longitude: 30 - } MouseArea { id: preMapRectMa anchors.fill: parent @@ -139,13 +128,6 @@ Item { } MapCircle { id: preMapCircle - color: 'darkmagenta' - border.width: 0 - center { - latitude: 10 - longitude: 30 - } - radius: 10000 MouseArea { id: preMapCircleMa anchors.fill: parent @@ -170,11 +152,8 @@ Item { SignalSpy { id: preMapQuickItemClicked; target: parent; signalName: "clicked" } SignalSpy { id: preMapQuickItemActiveChanged; target: parent.drag; signalName: "activeChanged" } } - coordinate { - latitude: 35 - longitude: 3 - } sourceItem: Rectangle { + id: preMapQuickItemSource color: 'darkgreen' width: 20 height: 20 @@ -235,21 +214,69 @@ Item { name: "MapItems" when: windowShown - function test_aa_items_on_map() { // aa et al. for execution order - wait(10) + function initTestCase() + { // sanity check that the coordinate conversion works, as // rest of the case relies on it. for robustness cut // a little slack with fuzzy compare var mapcenter = map.fromCoordinate(map.center) verify (fuzzy_compare(mapcenter.x, 100, 2)) verify (fuzzy_compare(mapcenter.y, 100, 2)) + } - // precondition - compare(preMapRectClicked.count, 0) - compare(preMapCircleClicked.count, 0) + function init() + { + map.center = QtPositioning.coordinate(20, 20) + preMapCircle.center = QtPositioning.coordinate(10,30) + preMapCircle.border.width = 0 + preMapCircle.color = 'red' + preMapCircle.radius = 10000 + preMapCircleClicked.clear() + preMapCircleCenterChanged.clear() + preMapCircleColorChanged.clear() + preMapCircleRadiusChanged.clear() + preMapCircleBorderColorChanged.clear() + preMapCircleBorderWidthChanged.clear() + + preMapRect.color = 'red' + preMapRect.border.width = 0 + preMapRect.topLeft = QtPositioning.coordinate(20, 20) + preMapRect.bottomRight = QtPositioning.coordinate(10, 30) + preMapRectTopLeftChanged.clear() + preMapRectBottomRightChanged.clear() + preMapRectColorChanged.clear() + preMapRectClicked.clear() + preMapRectActiveChanged.clear() + + preMapQuickItem.sourceItem = preMapQuickItemSource + preMapQuickItem.zoomLevel = 0 + preMapQuickItem.coordinate = QtPositioning.coordinate(35, 3) + preMapQuickItemClicked.clear() + preMapQuickItem.anchorPoint = Qt.point(0,0) + preMapQuickItemCoordinateChanged.clear() + preMapQuickItemAnchorPointChanged.clear() + preMapQuickItemZoomLevelChanged.clear() + preMapQuickItemSourceItemChanged.clear() + + preMapPolygonClicked.clear() + preMapPolylineColorChanged.clear() + preMapPolylineWidthChanged.clear() + preMapPolylinePathChanged.clear() + preMapPolygonPathChanged.clear() + preMapPolygonColorChanged.clear() + preMapPolygonBorderColorChanged.clear() + preMapPolygonBorderWidthChanged.clear() + preMapRouteRouteChanged.clear() + preMapRouteLineColorChanged.clear() + preMapRouteLineWidthChanged.clear() + verify(LocationTestHelper.waitForPolished(map)) + } + function test_items_on_map() + { // click rect map.center = preMapRect.topLeft + verify(LocationTestHelper.waitForPolished(map)) var point = map.fromCoordinate(preMapRect.topLeft) mouseClick(map, point.x + 5, point.y + 5) tryCompare(preMapRectClicked, "count", 1) @@ -259,11 +286,11 @@ Item { // click circle, overlaps and is above rect map.center = preMapCircle.center - verify(waitForRendering(map)) + verify(LocationTestHelper.waitForPolished(map)) point = map.fromCoordinate(preMapCircle.center) mouseClick(map, point.x - 5, point.y - 5) - tryCompare(preMapRectClicked, "count", 1) - compare(preMapCircleClicked.count, 1) + tryCompare(preMapCircleClicked, "count", 1) + compare(preMapRectClicked.count, 1) // click within circle bounding rect but not inside the circle geometry map.center = preMapCircle.center.atDistanceAndAzimuth(preMapCircle.radius, -45) @@ -274,7 +301,7 @@ Item { // click quick item compare(preMapQuickItemClicked.count, 0) map.center = preMapQuickItem.coordinate - verify(waitForRendering(map)) + verify(LocationTestHelper.waitForPolished(map)) point = map.fromCoordinate(preMapQuickItem.coordinate) mouseClick(map, point.x + 5, point.y + 5) tryCompare(preMapQuickItemClicked, "count", 1) @@ -282,20 +309,22 @@ Item { // click polygon compare (preMapPolygonClicked.count, 0) map.center = preMapPolygon.path[1] - verify(waitForRendering(map)) + verify(LocationTestHelper.waitForPolished(map)) point = map.fromCoordinate(preMapPolygon.path[1]) mouseClick(map, point.x - 5, point.y) tryCompare(preMapPolygonClicked, "count", 1) + } + function test_no_items_on_map() + { // remove items and repeat clicks to verify they are gone map.clearMapItems() - clear_data() compare (map.mapItems.length, 0) map.center = preMapRect.topLeft - point = map.fromCoordinate(preMapRect.topLeft) + var point = map.fromCoordinate(preMapRect.topLeft) mouseClick(map, point.x + 5, point.y + 5) compare(preMapRectClicked.count, 0) - visualInspectionPoint() + verify(LocationTestHelper.waitForPolished(map)) map.center = preMapCircle.center point = map.fromCoordinate(preMapCircle.center) mouseClick(map, point.x - 5, point.y - 5) @@ -324,30 +353,31 @@ Item { map.addMapItem(preMapPolyline) map.addMapItem(preMapRoute) compare (map.mapItems.length, 6) - visualInspectionPoint() + map.center = preMapRect.topLeft - verify(waitForRendering(map)) + verify(LocationTestHelper.waitForPolished(map)) point = map.fromCoordinate(preMapRect.topLeft) mouseClick(map, point.x + 5, point.y + 5) tryCompare(preMapRectClicked, "count", 1) map.center = preMapCircle.center - verify(waitForRendering(map)) + verify(LocationTestHelper.waitForPolished(map)) point = map.fromCoordinate(preMapCircle.center) mouseClick(map, point.x - 5, point.y - 5) tryCompare(preMapRectClicked, "count", 1) compare(preMapCircleClicked.count, 1) map.center = preMapCircle.center.atDistanceAndAzimuth(preMapCircle.radius, -45) + verify(LocationTestHelper.waitForPolished(map)) mouseClick(map, preMapCircle.x + 4, preMapCircle.y + 4) tryCompare(preMapRectClicked, "count", 2) compare(preMapCircleClicked.count, 1) compare(preMapQuickItemClicked.count, 0) map.center = preMapQuickItem.coordinate - verify(waitForRendering(map)) + verify(LocationTestHelper.waitForPolished(map)) point = map.fromCoordinate(preMapQuickItem.coordinate) mouseClick(map, point.x + 5, point.y + 5) tryCompare(preMapQuickItemClicked, "count", 1) map.center = preMapPolygon.path[1] - verify(waitForRendering(map)) + verify(LocationTestHelper.waitForPolished(map)) point = map.fromCoordinate(preMapPolygon.path[1]) mouseClick(map, point.x - 5, point.y) tryCompare(preMapPolygonClicked, "count", 1) @@ -356,8 +386,7 @@ Item { // item clips to map. not sure if this is sensible test map.addMapItem(extMapCircle) map.center = extMapCircle.center - verify(waitForRendering(map)) - visualInspectionPoint(); + verify(LocationTestHelper.waitForPolished(map)) point = map.fromCoordinate(extMapCircle.center) mouseClick(map, point.x, point.y) tryCompare(extMapCircleClicked, "count", 1) @@ -367,8 +396,7 @@ Item { map.addMapItem(extMapQuickItem) map.center = extMapQuickItem.coordinate - verify(waitForRendering(map)) - visualInspectionPoint(); + verify(LocationTestHelper.waitForPolished(map)) point = map.fromCoordinate(extMapQuickItem.coordinate) mouseClick(map, point.x + 5, point.y + 5) tryCompare(extMapQuickItemClicked, "count", 1) @@ -377,13 +405,12 @@ Item { map.removeMapItem(extMapQuickItem) } - function test_ab_drag() { - clear_data() + function test_drag() + { // basic drags, drag rectangle compare (preMapRectActiveChanged.count, 0) map.center = preMapRect.topLeft - verify(waitForRendering(map)) - + verify(LocationTestHelper.waitForPolished(map)) var i var point = map.fromCoordinate(preMapRect.topLeft) var targetCoordinate = map.toCoordinate(51, 51) @@ -406,7 +433,7 @@ Item { // drag circle compare (preMapCircleActiveChanged.count, 0) map.center = preMapCircle.center - verify(waitForRendering(map)) + verify(LocationTestHelper.waitForPolished(map)) point = map.fromCoordinate(preMapCircle.center) targetCoordinate = map.toCoordinate(51, 51) mousePress(map, point.x, point.y) @@ -415,7 +442,7 @@ Item { mouseMove(map, point.x - i, point.y - i) } mouseRelease(map, point.x - i, point.y - i) - visualInspectionPoint() + verify(LocationTestHelper.waitForPolished(map)) compare(preMapRectActiveChanged.count, 2) compare(preMapCircleActiveChanged.count, 2) verify(preMapCircleCenterChanged.count > 1) @@ -425,7 +452,7 @@ Item { // drag quick item compare (preMapQuickItemActiveChanged.count, 0) map.center = preMapQuickItem.coordinate - verify(waitForRendering(map)) + verify(LocationTestHelper.waitForPolished(map)) point = map.fromCoordinate(preMapQuickItem.coordinate) targetCoordinate = map.toCoordinate(51, 51) mousePress(map, point.x + 5, point.y + 5) @@ -434,15 +461,15 @@ Item { mouseMove(map, point.x - i, point.y - i) } mouseRelease(map, point.x - i, point.y - i) - visualInspectionPoint() + verify(LocationTestHelper.waitForPolished(map)) compare(preMapQuickItemActiveChanged.count, 2) verify(preMapQuickItemCoordinateChanged.count > 1) verify(fuzzy_compare(preMapQuickItem.coordinate.latitude, targetCoordinate.latitude, 0.2)) verify(fuzzy_compare(preMapQuickItem.coordinate.longitude, targetCoordinate.longitude, 0.2)) } - function test_ac_basic_properties() { - clear_data() + function test_basic_items_properties() + { // circle preMapCircle.center = someCoordinate1 compare (preMapCircleCenterChanged.count, 1) @@ -558,35 +585,6 @@ Item { compare (preMapQuickItemSourceItemChanged.count, 1) } - function clear_data() { - preMapRectClicked.clear() - preMapCircleClicked.clear() - preMapQuickItemClicked.clear() - preMapPolygonClicked.clear() - preMapCircleCenterChanged.clear() - preMapCircleColorChanged.clear() - preMapCircleRadiusChanged.clear() - preMapCircleBorderColorChanged.clear() - preMapCircleBorderWidthChanged.clear() - preMapRectTopLeftChanged.clear() - preMapRectBottomRightChanged.clear() - preMapRectColorChanged.clear() - preMapPolylineColorChanged.clear() - preMapPolylineWidthChanged.clear() - preMapPolylinePathChanged.clear() - preMapPolygonPathChanged.clear() - preMapPolygonColorChanged.clear() - preMapPolygonBorderColorChanged.clear() - preMapPolygonBorderWidthChanged.clear() - preMapRouteRouteChanged.clear() - preMapRouteLineColorChanged.clear() - preMapRouteLineWidthChanged.clear() - preMapQuickItemCoordinateChanged.clear() - preMapQuickItemAnchorPointChanged.clear() - preMapQuickItemZoomLevelChanged.clear() - preMapQuickItemSourceItemChanged.clear() - } - function fuzzy_compare(val, ref, tol) { var tolerance = 2 if (tol !== undefined) @@ -597,16 +595,6 @@ Item { return false; } - // call to visualInspectionPoint testcase (for dev time visual inspection) - function visualInspectionPoint(time) { - var waitTime = 0 // 300 - if (time !== undefined) - waitTime = time - if (waitTime > 0) { - console.log('halting for ' + waitTime + ' milliseconds') - wait (waitTime) - } - } // these 'real_' prefixed functions do sequences as // it would occur on real app (e.g. doubleclick is in fact // a sequence of press, release, doubleclick, release). |