Fixed bug in MapEngine unit tests
authorSami Rämö <sami.ramo@ixonos.com>
Thu, 12 Aug 2010 06:20:51 +0000 (09:20 +0300)
committerSami Rämö <sami.ramo@ixonos.com>
Thu, 12 Aug 2010 06:20:51 +0000 (09:20 +0300)
 - MapEngine must have view attached before using the map,
   and the tests didn't have, so the test segfaulted

src/map/mapengine.cpp
src/map/mapengine.h
tests/map/mapengine/testmapengine.cpp

index 98a9504..ce2faf0 100644 (file)
@@ -187,7 +187,7 @@ QRectF MapEngine::currentViewSceneRect() const
 
     const QPoint ONE_PIXEL = QPoint(1, 1);
 
-    QGraphicsView *view = m_mapScene->views().at(0);
+    QGraphicsView *view = m_mapScene->views().first();
     QPointF sceneTopLeft = view->mapToScene(0, 0);
     QPoint viewBottomRight = QPoint(view->size().width(), view->size().height()) - ONE_PIXEL;
     QPointF sceneBottomRight = view->mapToScene(viewBottomRight);
index f05254e..bf73850 100644 (file)
@@ -50,6 +50,8 @@ class User;
  * Logic for controlling map functionality. Does also include static methods for
  * converting coordinates.
  *
+ * NOTE: MapEngine must have a view attached before using it!
+ *
  * @author Sami Rämö - sami.ramo (at) ixonos.com
  * @author Jussi Laitinen - jussi.laitinen (at) ixonos.com
  * @author Pekka Nissinen - pekka.nissinen (at) ixonos.com
index 67d3407..1b5d78a 100644 (file)
@@ -20,6 +20,7 @@
 */
 
 #include <QGraphicsScene>
+#include <QGraphicsView>
 #include <QtTest/QtTest>
 
 #include "common.h"
@@ -43,9 +44,9 @@ private slots:
     void convertTileNumberToSceneCoordinate_data();
     void setLocationNewTilesCount();
     void setLocationRemovedTilesCount();
-    void zoomOutRemovedTilesCount();
-    void zoomInRemovedTilesCount();
     void usingLastLocation();
+    void zoomInRemovedTilesCount();
+    void zoomOutRemovedTilesCount();
 
 signals:
     void setCenterPosition(SceneCoordinate); // a way to call a private slot
@@ -81,6 +82,8 @@ void TestMapEngine::convertTileNumberToSceneCoordinate_data()
 void TestMapEngine::setLocationNewTilesCount()
 {
     MapEngine engine;
+    QGraphicsView view;
+    view.setScene(engine.scene());
     engine.viewResized(QSize(800, 480));
     connect(this, SIGNAL(setCenterPosition(SceneCoordinate)),
             &engine, SLOT(setCenterPosition(SceneCoordinate)));
@@ -109,6 +112,8 @@ void TestMapEngine::setLocationNewTilesCount()
 void TestMapEngine::setLocationRemovedTilesCount()
 {
     MapEngine engine;
+    QGraphicsView view;
+    view.setScene(engine.scene());
     engine.viewResized(QSize(800, 480));
     connect(this, SIGNAL(setCenterPosition(SceneCoordinate)),
             &engine, SLOT(setCenterPosition(SceneCoordinate)));
@@ -133,6 +138,8 @@ void TestMapEngine::setLocationRemovedTilesCount()
 void TestMapEngine::zoomInRemovedTilesCount()
 {
     MapEngine engine;
+    QGraphicsView view;
+    view.setScene(engine.scene());
     engine.viewResized(QSize(800, 480));
     connect(this, SIGNAL(setCenterPosition(SceneCoordinate)),
             &engine, SLOT(setCenterPosition(SceneCoordinate)));
@@ -156,6 +163,8 @@ void TestMapEngine::zoomInRemovedTilesCount()
 void TestMapEngine::zoomOutRemovedTilesCount()
 {
     MapEngine engine;
+    QGraphicsView view;
+    view.setScene(engine.scene());
     engine.viewResized(QSize(800, 480));
     connect(this, SIGNAL(setCenterPosition(SceneCoordinate)),
             &engine, SLOT(setCenterPosition(SceneCoordinate)));
@@ -181,6 +190,8 @@ void TestMapEngine::usingLastLocation()
 {
     // Create mapengine and start monitoring zoomLevelChanged-signal
     MapEngine *mapengine = new MapEngine;
+    QGraphicsView view;
+    view.setScene(mapengine->scene());
     QSignalSpy mapEngineSpy(mapengine, SIGNAL(zoomLevelChanged(int)));
     connect(this, SIGNAL(setCenterPosition(SceneCoordinate)),
             mapengine, SLOT(setCenterPosition(SceneCoordinate)));