summaryrefslogtreecommitdiffstats
path: root/tests/auto/gui/image/qimagewriter/tst_qimagewriter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/gui/image/qimagewriter/tst_qimagewriter.cpp')
-rw-r--r--tests/auto/gui/image/qimagewriter/tst_qimagewriter.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/auto/gui/image/qimagewriter/tst_qimagewriter.cpp b/tests/auto/gui/image/qimagewriter/tst_qimagewriter.cpp
index f1d0e227f6..b10b5704c3 100644
--- a/tests/auto/gui/image/qimagewriter/tst_qimagewriter.cpp
+++ b/tests/auto/gui/image/qimagewriter/tst_qimagewriter.cpp
@@ -50,6 +50,7 @@
#include <QImageWriter>
#include <QPainter>
#include <QSet>
+#include <QTemporaryDir>
#ifdef Q_OS_UNIX // for geteuid()
# include <sys/types.h>
@@ -84,6 +85,7 @@ private slots:
void supportedMimeTypes();
void writeToInvalidDevice();
+ void testCanWrite();
void supportsOption_data();
void supportsOption();
@@ -402,6 +404,28 @@ void tst_QImageWriter::writeToInvalidDevice()
}
}
+void tst_QImageWriter::testCanWrite()
+{
+ {
+ // device is not set
+ QImageWriter writer;
+ QVERIFY(!writer.canWrite());
+ QCOMPARE(writer.error(), QImageWriter::DeviceError);
+ }
+
+ {
+ // check if canWrite won't leave an empty file
+ QTemporaryDir dir;
+ QVERIFY(dir.isValid());
+ QString fileName(dir.path() + QLatin1String("/001.garble"));
+ QVERIFY(!QFileInfo(fileName).exists());
+ QImageWriter writer(fileName);
+ QVERIFY(!writer.canWrite());
+ QCOMPARE(writer.error(), QImageWriter::UnsupportedFormatError);
+ QVERIFY(!QFileInfo(fileName).exists());
+ }
+}
+
void tst_QImageWriter::supportsOption_data()
{
QTest::addColumn<QString>("fileName");