@@ -82,7 +82,7 @@ Rectangle {
82 return filenameA;
82 return filenameA;
85− function test_zoomable_data() {
85+ function test_pinch_data() {
86 return [ { source:widgetData2["source"],
86 return [ { source:widgetData2["source"],
87 zoomable:false,
87 zoomable:false,
88 answer1: true,
88 answer1: true,
@@ -94,11 +94,44 @@ Rectangle {
94 answer1: false,
94 answer1: false,
95 answer2: true,
95 answer2: true,
96 answer3: false,
96 answer3: false,
97− answer4: 1.1 }
97+ answer4: 1.7740461882048026 }
101− function test_zoomable(data) {
101+ function test_mousewheel() {
102+ var image = findChild(zoomableImage, "image");
103+ var lazyImage = findChild(zoomableImage, "lazyImage");
104+ var flickable = findChild(zoomableImage, "flickable");
106+ zoomableImage.source = widgetData2["source"];
107+ zoomableImage.zoomable = true;
108+ waitForRendering(zoomableImage);
110+ tryCompare(zoomableImage, "imageState", "ready");
111+ tryCompareFunction(function() { return get_filename(lazyImage.source.toString()) === get_filename(widgetData2["source"]); }, true);
112+ waitForRendering(image);
114+ // move mouse to center
115+ mouseMove(zoomableImage, zoomableImage.width / 2, zoomableImage.height / 2);
118+ for (var i=0; i<10; i++) {
119+ mouseWheel(zoomableImage, zoomableImage.width / 2, zoomableImage.height / 2, 0, 10);
120+ tryCompare(image, "scale", 1.0 + (i + 1) * 0.1);
121+ compare(flickable.contentWidth, lazyImage.width * image.scale);
122+ compare(flickable.contentHeight, lazyImage.height * image.scale);
126+ for (var i=0; i<10; i++) {
127+ mouseWheel(zoomableImage, zoomableImage.width / 2, zoomableImage.height / 2, 0, -10);
128+ tryCompare(image, "scale", 2.0 - (i + 1) * 0.1);
129+ compare(flickable.contentWidth, lazyImage.width * image.scale);
130+ compare(flickable.contentHeight, lazyImage.height * image.scale);
134+ function test_pinch(data) {
102 var image = findChild(zoomableImage, "image");
135 var image = findChild(zoomableImage, "image");
103 var lazyImage = findChild(zoomableImage, "lazyImage");
136 var lazyImage = findChild(zoomableImage, "lazyImage");
@@ -114,8 +147,6 @@ Rectangle {
114 tryCompareFunction(function() { return get_filename(lazyImage.source.toString()) === get_filename(data.source); }, true);
147 tryCompareFunction(function() { return get_filename(lazyImage.source.toString()) === get_filename(data.source); }, true);
115 waitForRendering(image);
148 waitForRendering(image);
117− var event1 = touchEvent();
118− var event2 = touchEvent();
119 var x1Start = zoomableImage.width * 2 / 6;
150 var x1Start = zoomableImage.width * 2 / 6;
120 var y1Start = zoomableImage.height * 2 / 6;
151 var y1Start = zoomableImage.height * 2 / 6;
121 var x1End = zoomableImage.width * 1 / 6;
152 var x1End = zoomableImage.width * 1 / 6;
@@ -127,66 +158,36 @@ Rectangle {
128 var oldScale = image.scale;
159 var oldScale = image.scale;
161+ // move mouse to center
130 mouseMove(zoomableImage, zoomableImage.width / 2, zoomableImage.height / 2);
162 mouseMove(zoomableImage, zoomableImage.width / 2, zoomableImage.height / 2);
131− mouseWheel(zoomableImage, zoomableImage.width / 2, zoomableImage.height / 2, 0, 10);
164+ var event1 = touchEvent();
133 event1.press(0, x1Start, y1Start);
166 event1.press(0, x1Start, y1Start);
134 event1.commit();
167 event1.commit();
169+ event1.stationary(0);
135 event1.press(1, x2Start, y2Start);
170 event1.press(1, x2Start, y2Start);
136 event1.commit();
171 event1.commit();
138 for (var i = 0.0; i < 1.0; i += 0.02) {
174 for (var i = 0.0; i < 1.0; i += 0.02) {
139 event1.move(0, x1Start + (x1End - x1Start) * i, y1Start + (y1End - y1Start) * i);
175 event1.move(0, x1Start + (x1End - x1Start) * i, y1Start + (y1End - y1Start) * i);
141 event1.move(1, x2Start + (x2End - x2Start) * i, y2Start + (y2End - y2Start) * i);
176 event1.move(1, x2Start + (x2End - x2Start) * i, y2Start + (y2End - y2Start) * i);
142 event1.commit();
177 event1.commit();
145 event1.release(0, x1End, y1End);
181 event1.release(0, x1End, y1End);
147 event1.release(1, x2End, y2End);
182 event1.release(1, x2End, y2End);
148 event1.commit();
183 event1.commit();
185+ tryCompare(image, "scale", data.answer4);
150 var newScale = image.scale;
186 var newScale = image.scale;
152− compare(newScale == oldScale, data.answer1, "scale factor not equal");
187+ compare(newScale == oldScale, data.answer1, "scale factor not equal: "+ oldScale + "=?" + newScale);
153 compare(newScale > oldScale, data.answer2, "scale factor didn't changed");
188 compare(newScale > oldScale, data.answer2, "scale factor didn't changed");
154 compare(signalSpy.count == 0, data.answer3, "scale signal count error");
189 compare(signalSpy.count == 0, data.answer3, "scale signal count error");
155 compare(newScale, data.answer4, "scale factor error");
190 compare(newScale, data.answer4, "scale factor error");
158− function test_mousewheel() {
159− var image = findChild(zoomableImage, "image");
160− var lazyImage = findChild(zoomableImage, "lazyImage");
161− var flickable = findChild(zoomableImage, "flickable");
163− zoomableImage.source = "";
164− zoomableImage.source = widgetData2["source"];
165− zoomableImage.zoomable = true;
166− waitForRendering(zoomableImage);
168− tryCompare(zoomableImage, "imageState", "ready");
169− tryCompareFunction(function() { return get_filename(lazyImage.source.toString()) === get_filename(widgetData2["source"]); }, true);
170− waitForRendering(image);
173− mouseMove(zoomableImage, zoomableImage.width / 2, zoomableImage.height / 2);
176− for (var i=0; i<10; i++) {
177− mouseWheel(zoomableImage, zoomableImage.width / 2, zoomableImage.height / 2, 0, 10);
178− tryCompare(image, "scale", 1.0 + (i + 1) * 0.1);
179− compare(flickable.contentWidth, lazyImage.width * image.scale);
180− compare(flickable.contentHeight, lazyImage.height * image.scale);
184− for (var i=0; i<10; i++) {
185− mouseWheel(zoomableImage, zoomableImage.width / 2, zoomableImage.height / 2, 0, -10);
186− tryCompare(image, "scale", 2.0 - (i + 1) * 0.1);
187− compare(flickable.contentWidth, lazyImage.width * image.scale);
188− compare(flickable.contentHeight, lazyImage.height * image.scale);