summaryrefslogtreecommitdiffstats
path: root/tests/auto/gui/image/qicoimageformat
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2016-05-20 13:46:21 +0200
committerOswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>2016-05-23 21:09:46 +0200
commit56d6e000f7487c59172330ebd23a718268c508f1 (patch)
tree1494432583b1569816075091a8075b31d795f77c /tests/auto/gui/image/qicoimageformat
parent9fd407fc6a29c94b4568dd042a05c208255179e0 (diff)
parentc276aa51303b7c6f8e4cd854aadf8344a906e50f (diff)
Merge remote-tracking branch 'origin/5.7' into dev
Conflicts: mkspecs/wince80colibri-armv7-msvc2012/qmake.conf qmake/generators/win32/msvc_vcproj.cpp src/corelib/global/qnamespace.h src/corelib/global/qnamespace.qdoc src/corelib/io/qfsfileengine_win.cpp src/corelib/tools/tools.pri src/network/ssl/qsslconfiguration_p.h src/plugins/platforms/linuxfb/qlinuxfbscreen.cpp src/plugins/platforms/windows/windows.pri src/src.pro src/tools/bootstrap/bootstrap.pro src/tools/uic/cpp/cppwriteinitialization.cpp src/widgets/dialogs/qfilesystemmodel.cpp tests/auto/testlib/selftests/expected_cmptest.teamcity tests/auto/testlib/selftests/expected_cmptest.txt Change-Id: I4d2ac78f0dcc97f008186bbbc769c6fe588ab0e5
Diffstat (limited to 'tests/auto/gui/image/qicoimageformat')
-rw-r--r--tests/auto/gui/image/qicoimageformat/tst_qicoimageformat.cpp47
1 files changed, 47 insertions, 0 deletions
diff --git a/tests/auto/gui/image/qicoimageformat/tst_qicoimageformat.cpp b/tests/auto/gui/image/qicoimageformat/tst_qicoimageformat.cpp
index ac9dadee47..2dbb078ae0 100644
--- a/tests/auto/gui/image/qicoimageformat/tst_qicoimageformat.cpp
+++ b/tests/auto/gui/image/qicoimageformat/tst_qicoimageformat.cpp
@@ -50,6 +50,8 @@ private slots:
void nextImageDelay();
void pngCompression_data();
void pngCompression();
+ void write_data();
+ void write();
private:
QString m_IconPath;
@@ -296,6 +298,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"