Stabilize tst_qquickanimatedimage::mirror_notRunning()
authorGunnar Sletta <gunnar.sletta@digia.com>
Tue, 4 Jun 2013 07:01:36 +0000 (09:01 +0200)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Tue, 4 Jun 2013 08:52:15 +0000 (10:52 +0200)
Task-number: QTBUG-31370
Change-Id: I200d94dccd1314c891df92576b0d2b704e530e16
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
tests/auto/quick/qquickanimatedimage/tst_qquickanimatedimage.cpp

index 73474af..0377eaa 100644 (file)
@@ -190,9 +190,6 @@ void tst_qquickanimatedimage::mirror_running()
     QImage frame0_expected = frame0.transformed(transform);
     QImage frame1_expected = frame1.transformed(transform);
 
-#ifdef Q_OS_MAC
-    QSKIP("QTBUG-31370 - sometimes fails on Mac");
-#endif
     QCOMPARE(frame0_flipped, frame0_expected);
     QCOMPARE(frame1_flipped, frame1_expected);
 
@@ -204,29 +201,28 @@ void tst_qquickanimatedimage::mirror_notRunning()
     QFETCH(QUrl, fileUrl);
 
     QQuickView window;
+    window.setSource(fileUrl);
     window.show();
+    QTRY_VERIFY(window.isExposed());
 
-    window.setSource(fileUrl);
     QQuickAnimatedImage *anim = qobject_cast<QQuickAnimatedImage *>(window.rootObject());
     QVERIFY(anim);
 
     int width = anim->property("width").toInt();
-    QPixmap screenshot = QPixmap::fromImage(window.grabWindow());
+    QImage screenshot = window.grabWindow();
 
     QTransform transform;
     transform.translate(width, 0).scale(-1, 1.0);
-    QPixmap expected = screenshot.transformed(transform);
+    QImage expected = screenshot.transformed(transform);
 
     int frame = anim->currentFrame();
     bool playing = anim->isPlaying();
     bool paused = anim->isPlaying();
 
     anim->setProperty("mirror", true);
-    screenshot = QPixmap::fromImage(window.grabWindow());
+    screenshot = window.grabWindow();
 
-#ifdef Q_OS_MAC
-    QSKIP("QTBUG-31370 - sometimes fails on Mac");
-#endif
+    screenshot.save("screen.png");
     QCOMPARE(screenshot, expected);
 
     // mirroring should not change the current frame or playing status