summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMichal Klocek <michal.klocek@theqtcompany.com>2015-06-04 15:16:06 +0200
committerMichal Klocek <michal.klocek@theqtcompany.com>2015-06-09 15:33:56 +0000
commite8b225cbcc2249f545a98e94ba36b7aa159a4aba (patch)
tree38b1d06346c336a8a40a030b9889166459a4bf6b /tests
parent374077292b4be4a03eb8ca9a6eaae41e4de6f942 (diff)
downloadqtlocation-e8b225cbcc2249f545a98e94ba36b7aa159a4aba.tar.gz
Fix crash when calling setVisibleRegion and no plugin
Change-Id: I60824dc63f723c1d3fae00920f627fc66357f72c Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/declarative_ui/tst_map_error.qml180
1 files changed, 154 insertions, 26 deletions
diff --git a/tests/auto/declarative_ui/tst_map_error.qml b/tests/auto/declarative_ui/tst_map_error.qml
index 96ce127f..1c5f4342 100644
--- a/tests/auto/declarative_ui/tst_map_error.qml
+++ b/tests/auto/declarative_ui/tst_map_error.qml
@@ -33,54 +33,182 @@
import QtQuick 2.0
import QtTest 1.0
-import QtLocation 5.3
-import QtPositioning 5.2
+import QtLocation 5.5
+import QtPositioning 5.5
import QtLocation.test 5.0
Item {
id: page
x: 0; y: 0;
- width: 120
- height: 120
+ width: 200
+ height: 100
+
+ property variant coordinate: QtPositioning.coordinate(20, 20)
Plugin { id: errorPlugin;
- name: "qmlgeo.test.plugin"
- allowExperimental: true
- parameters: [
- PluginParameter { name: "error"; value: "1"},
- PluginParameter { name: "errorString"; value: "This error was expected. No worries !"}
- ]
- }
+ name: "qmlgeo.test.plugin"
+ allowExperimental: true
+ parameters: [
+ PluginParameter { name: "error"; value: "1"},
+ PluginParameter { name: "errorString"; value: "This error was expected. No worries !"}
+ ]
+ }
Map {
- id: map;
+ id: map_error_plugin;
+ property alias mouseClickedSpy: mouseClickedSpy1
x: 0; y: 0; width: 100; height: 100; plugin: errorPlugin;
- center {
- latitude: 20
- longitude: 20
- }
MouseArea {
- id: mouseArea
+ id: mouseArea1
objectName: "mouseArea"
- x: 0; y: 0; width: 100; height: 100
+ x: 25; y: 25; width: 50; height: 50;
preventStealing: true
}
+
+ SignalSpy {id: mouseClickedSpy1; target: mouseArea1; signalName: "clicked"}
}
- SignalSpy {id: mouseClickedSpy; target: mouseArea; signalName: "clicked"}
+ Map {
+ id: map_no_plugin;
+ property alias mouseClickedSpy: mouseClickedSpy2
+ x: 100; y: 0; width: 100; height: 100;
+
+ MouseArea {
+ id: mouseArea2
+ objectName: "mouseArea"
+ x: 25; y: 25; width: 50; height: 50;
+ preventStealing: true
+ }
+
+ SignalSpy {id: mouseClickedSpy2; target: mouseArea2; signalName: "clicked"}
+ }
TestCase {
- name: "MouseAreaWithoutInitializedMap"
+ name: "MapErrorHandling"
when: windowShown
- function test_basic_click() {
- wait(50);
- mouseClick(map, 5, 25)
- mouseClick(map, 5, 25)
- mouseClick(map, 5, 25)
- compare(mouseClickedSpy.count, 3)
+ function init() {
+ map_error_plugin.zoomLevel = 0
+ map_no_plugin.zoomLevel = 0
+ map_error_plugin.center = QtPositioning.coordinate(0, 0)
+ map_no_plugin.center = QtPositioning.coordinate(0, 0)
+ map_error_plugin.mouseClickedSpy.clear()
+ map_no_plugin.mouseClickedSpy.clear()
+ }
+
+ function map_clicked(map) {
+ mouseClick(map, 5, 5)
+ mouseClick(map, 50, 50)
+ mouseClick(map, 50, 50)
+ mouseClick(map, 50, 50)
+ compare(map.mouseClickedSpy.count, 3)
+ }
+
+ function test_map_clicked_wiht_no_plugin() {
+ map_clicked(map_no_plugin)
+ }
+
+ function test_map_clicked_with_error_plugin() {
+ map_clicked(map_error_plugin)
+ }
+
+ function test_map_no_supportedMapTypes() {
+ compare(map_no_plugin.supportedMapTypes.length , 0)
+ compare(map_error_plugin.supportedMapTypes.length , 0)
+ }
+
+ function test_map_set_zoom_level()
+ {
+ map_no_plugin.zoomLevel = 9
+ compare(map_no_plugin.zoomLevel,9)
+ map_error_plugin.zoomLevel = 9
+ compare(map_error_plugin.zoomLevel,9)
+ }
+
+ function test_map_set_center()
+ {
+ map_no_plugin.center = coordinate
+ verify(map_no_plugin.center === coordinate)
+ map_error_plugin.center = coordinate
+ verify(map_error_plugin.center === coordinate)
+ }
+
+ function test_map_no_mapItems()
+ {
+ compare(map_no_plugin.mapItems.length , 0)
+ compare(map_error_plugin.mapItems.length , 0)
+ }
+
+ function test_map_error()
+ {
+ compare(map_no_plugin.error , 0)
+ compare(map_no_plugin.errorString , "")
+ compare(map_error_plugin.error , 1)
+ compare(map_error_plugin.errorString ,"This error was expected. No worries !")
+ }
+
+ function test_map_toCoordinate()
+ {
+ map_no_plugin.center = coordinate
+ compare(map_no_plugin.toCoordinate(50,50).isValid,false)
+ map_error_plugin.center = coordinate
+ compare(map_error_plugin.toCoordinate(50,50).isValid,false)
+ }
+
+ function test_map_fromCoordinate()
+ {
+ verify(isNaN(map_error_plugin.fromCoordinate(coordinate).x))
+ verify(isNaN(map_error_plugin.fromCoordinate(coordinate).y))
+ verify(isNaN(map_no_plugin.fromCoordinate(coordinate).x))
+ verify(isNaN(map_no_plugin.fromCoordinate(coordinate).y))
+ }
+
+ function test_map_gesture_enabled()
+ {
+ verify(map_error_plugin.gesture.enabled)
+ verify(map_no_plugin.gesture.enabled)
+ }
+
+ function test_map_pan()
+ {
+ map_no_plugin.center = coordinate
+ map_no_plugin.pan(20,20)
+ verify(map_no_plugin.center === coordinate)
+ map_error_plugin.center = coordinate
+ map_error_plugin.pan(20,20)
+ verify(map_error_plugin.center === coordinate)
+ }
+
+ function test_map_prefetchData()
+ {
+ map_error_plugin.prefetchData()
+ map_no_plugin.prefetchData()
+ }
+
+ function test_map_fitViewportToMapItems()
+ {
+ map_error_plugin.fitViewportToMapItems()
+ map_no_plugin.fitViewportToMapItems()
+ }
+
+ function test_map_fitViewportToGeoShape()
+ {
+ map_no_plugin.fitViewportToGeoShape(QtPositioning.circle(coordinate,1000))
+ verify(map_no_plugin.center != coordinate)
+ map_error_plugin.fitViewportToGeoShape(QtPositioning.circle(coordinate,1000))
+ verify(map_error_plugin.center != coordinate)
+ }
+
+ function test_map_setVisibleRegion()
+ {
+ map_no_plugin.visibleRegion = QtPositioning.circle(coordinate,1000)
+ verify(map_no_plugin.center != coordinate)
+ verify(map_no_plugin.visibleRegion == QtPositioning.circle(coordinate,1000))
+ map_error_plugin.visibleRegion = QtPositioning.circle(coordinate,1000)
+ verify(map_error_plugin.center != coordinate)
+ verify(map_no_plugin.visibleRegion == QtPositioning.circle(coordinate,1000))
}
}
}