summaryrefslogtreecommitdiffstats
path: root/tests/auto/gui/image
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/gui/image')
-rw-r--r--tests/auto/gui/image/qicoimageformat/tst_qicoimageformat.cpp47
-rw-r--r--tests/auto/gui/image/qimagewriter/images/App.icobin0 -> 318 bytes
-rw-r--r--tests/auto/gui/image/qimagewriter/tst_qimagewriter.cpp3
3 files changed, 49 insertions, 1 deletions
diff --git a/tests/auto/gui/image/qicoimageformat/tst_qicoimageformat.cpp b/tests/auto/gui/image/qicoimageformat/tst_qicoimageformat.cpp
index bff762fd04..6d2ed6d304 100644
--- a/tests/auto/gui/image/qicoimageformat/tst_qicoimageformat.cpp
+++ b/tests/auto/gui/image/qicoimageformat/tst_qicoimageformat.cpp
@@ -64,6 +64,8 @@ private slots:
void nextImageDelay();
void pngCompression_data();
void pngCompression();
+ void write_data();
+ void write();
private:
QString m_IconPath;
@@ -335,6 +337,51 @@ void tst_QIcoImageFormat::pngCompression()
QCOMPARE(image.height(), height);
}
+void tst_QIcoImageFormat::write_data()
+{
+ QTest::addColumn<QSize>("inSize");
+ QTest::addColumn<QSize>("outSize");
+
+ QTest::newRow("64x64") << QSize(64, 64) << QSize(64, 64);
+ QTest::newRow("128x200") << QSize(128, 200) << QSize(128, 200);
+ QTest::newRow("256x256") << QSize(256, 256) << QSize(256, 256);
+ QTest::newRow("400x400") << QSize(400, 400) << QSize(256, 256);
+}
+
+void tst_QIcoImageFormat::write()
+{
+ QFETCH(QSize, inSize);
+ QFETCH(QSize, outSize);
+
+ QImage inImg;
+ {
+ QImageReader reader(m_IconPath + "/valid/Qt.ico");
+ reader.jumpToImage(4);
+ reader.setScaledSize(inSize);
+ inImg = reader.read();
+ QVERIFY(!inImg.isNull());
+ QCOMPARE(inImg.size(), inSize);
+ }
+
+ QBuffer buf;
+ {
+ buf.open(QIODevice::WriteOnly);
+ QImageWriter writer(&buf, "ico");
+ QVERIFY(writer.write(inImg));
+ buf.close();
+ }
+ {
+ buf.open(QIODevice::ReadOnly);
+ QImageReader reader(&buf);
+ QVERIFY(reader.canRead());
+ QCOMPARE(reader.format(), QByteArray("ico"));
+ QImage outImg = reader.read();
+ QVERIFY(!outImg.isNull());
+ QCOMPARE(outImg.size(), outSize);
+ buf.close();
+ }
+}
+
QTEST_MAIN(tst_QIcoImageFormat)
#include "tst_qicoimageformat.moc"
diff --git a/tests/auto/gui/image/qimagewriter/images/App.ico b/tests/auto/gui/image/qimagewriter/images/App.ico
new file mode 100644
index 0000000000..03b80a68f8
--- /dev/null
+++ b/tests/auto/gui/image/qimagewriter/images/App.ico
Binary files differ
diff --git a/tests/auto/gui/image/qimagewriter/tst_qimagewriter.cpp b/tests/auto/gui/image/qimagewriter/tst_qimagewriter.cpp
index b3fdd00eb6..0347ef8810 100644
--- a/tests/auto/gui/image/qimagewriter/tst_qimagewriter.cpp
+++ b/tests/auto/gui/image/qimagewriter/tst_qimagewriter.cpp
@@ -199,6 +199,7 @@ void tst_QImageWriter::writeImage_data()
QTest::newRow("PBM: ship63") << QString("ship63.pbm") << true << QByteArray("pbm");
QTest::newRow("XBM: gnus") << QString("gnus.xbm") << false << QByteArray("xbm");
QTest::newRow("JPEG: beavis") << QString("beavis.jpg") << true << QByteArray("jpeg");
+ QTest::newRow("ICO: App") << QString("App.ico") << true << QByteArray("ico");
}
void tst_QImageWriter::writeImage()
@@ -260,7 +261,7 @@ void tst_QImageWriter::writeImage2_data()
QTest::addColumn<QImage>("image");
const QStringList formats = QStringList() << "bmp" << "xpm" << "png"
- << "ppm"; //<< "jpeg";
+ << "ppm" << "ico"; //<< "jpeg";
QImage image0(70, 70, QImage::Format_ARGB32);
image0.fill(QColor(Qt::red).rgb());