summaryrefslogtreecommitdiffstats
path: root/tests/auto/gui/image/qpixmap/tst_qpixmap.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/gui/image/qpixmap/tst_qpixmap.cpp')
-rw-r--r--tests/auto/gui/image/qpixmap/tst_qpixmap.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/auto/gui/image/qpixmap/tst_qpixmap.cpp b/tests/auto/gui/image/qpixmap/tst_qpixmap.cpp
index 4ffe357d09..286f00c111 100644
--- a/tests/auto/gui/image/qpixmap/tst_qpixmap.cpp
+++ b/tests/auto/gui/image/qpixmap/tst_qpixmap.cpp
@@ -1508,6 +1508,33 @@ void tst_QPixmap::loadAsBitmapOrPixmap()
QVERIFY(!bitmap.isNull());
QCOMPARE(bitmap.depth(), 1);
QVERIFY(bitmap.isQBitmap());
+
+ // check that a QBitmap stays a QBitmap even when loading fails:
+ ok = bitmap.load(QString());
+ QVERIFY(!ok);
+ QVERIFY(bitmap.isNull());
+ QVERIFY(bitmap.isQBitmap());
+
+ ok = bitmap.load("does not exist");
+ QVERIFY(!ok);
+ QVERIFY(bitmap.isNull());
+ QVERIFY(bitmap.isQBitmap());
+
+ ok = bitmap.load("does not exist.png");
+ QVERIFY(!ok);
+ QVERIFY(bitmap.isNull());
+ QVERIFY(bitmap.isQBitmap());
+
+ QTemporaryFile garbage;
+ QVERIFY(garbage.open());
+ const QString garbagePath = garbage.fileName();
+ garbage.write(reinterpret_cast<const char *>(&garbage), sizeof garbage);
+ garbage.close();
+
+ ok = bitmap.load(garbagePath);
+ QVERIFY(!ok);
+ QVERIFY(bitmap.isNull());
+ QVERIFY(bitmap.isQBitmap());
}
void tst_QPixmap::toImageDeepCopy()