test: fixed failure of tst_qicon
authorRohan McGovern <rohan.mcgovern@nokia.com>
Mon, 1 Aug 2011 06:44:09 +0000 (16:44 +1000)
committerQt by Nokia <qt-info@nokia.com>
Tue, 2 Aug 2011 05:37:21 +0000 (07:37 +0200)
This test unconditionally assumed that SVG support was available.
This is an invalid circular dependency: the test is in qtbase and
depends on qtsvg, which depends on qtbase.

Change the test so that it uses SVG support only if available.

Change-Id: Ia63ce74abdecd4bcf7a4e0714b8cb7c488e17495
Reviewed-on: http://codereview.qt.nokia.com/2426
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
tests/auto/qicon/qicon.pro
tests/auto/qicon/tst_qicon.cpp

index 21d967b..77a9b91 100644 (file)
@@ -27,5 +27,3 @@ wince* {
 } else {
    DEFINES += SRCDIR=\\\"$$PWD\\\"
 }
-
-CONFIG+=insignificant_test
index cd3f84f..4c430f9 100644 (file)
@@ -41,7 +41,7 @@
 
 
 #include <QtTest/QtTest>
-
+#include <QImageReader>
 #include <qicon.h>
 
 #if defined(Q_OS_SYMBIAN)
@@ -87,6 +87,8 @@ private slots:
     void task239461_custom_iconengine_crash();
 
 private:
+    bool haveImageFormat(QByteArray const&);
+
     QString oldCurrentDir;
 
     const static QIcon staticIcon;
@@ -112,6 +114,11 @@ void tst_QIcon::cleanup()
     }
 }
 
+bool tst_QIcon::haveImageFormat(QByteArray const& desiredFormat)
+{
+    return QImageReader::supportedImageFormats().contains(desiredFormat);
+}
+
 tst_QIcon::tst_QIcon()
 {
 }
@@ -205,6 +212,10 @@ void tst_QIcon::actualSize2()
 
 void tst_QIcon::svgActualSize()
 {
+    if (!haveImageFormat("svg")) {
+        QSKIP("SVG support is not available", SkipAll);
+    }
+
     const QString prefix = QLatin1String(SRCDIR) + QLatin1String("/");
     QIcon icon(prefix + "rect.svg");
     QCOMPARE(icon.actualSize(QSize(16, 16)), QSize(16, 2));
@@ -415,6 +426,9 @@ void tst_QIcon::detach()
 
 void tst_QIcon::svg()
 {
+    if (!haveImageFormat("svg")) {
+        QSKIP("SVG support is not available", SkipAll);
+    }
     QIcon icon1("heart.svg");
 
     QVERIFY(!icon1.pixmap(32).isNull());
@@ -521,14 +535,14 @@ void tst_QIcon::availableSizes()
         QCOMPARE(availableSizes.at(0), QSize(16,16));
     }
 
-    {
+    if (haveImageFormat("svg")) {
         // checks that there are no availableSizes for scalable images.
         QIcon icon("heart.svg");
         QList<QSize> availableSizes = icon.availableSizes();
         QVERIFY(availableSizes.isEmpty());
     }
 
-    {
+    if (haveImageFormat("svg")) {
         // even if an a scalable image contain added pixmaps,
         // availableSizes still should be empty.
         QIcon icon("heart.svg");