From 3797704c4ff0d91f544efa791973eced07c3ef02 Mon Sep 17 00:00:00 2001 From: Eirik Aavitsland Date: Fri, 14 Jun 2019 13:08:56 +0200 Subject: Generalize image file name @2x suffix handling to higher scale factors MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @3x is in use on iOS already, so extend the handling in QImageReader to all single-digit factors, like QIcon does. Fixes: QTBUG-76273 Change-Id: Ic9442731c0549dbe8f797e1ddb1a09d8447e8441 Reviewed-by: Morten Johan Sørvig --- .../gui/image/qimagereader/images/qticon16.png | Bin 0 -> 1884 bytes .../gui/image/qimagereader/images/qticon16@2x.png | Bin 0 -> 3187 bytes .../gui/image/qimagereader/images/qticon16@3x.png | Bin 0 -> 5307 bytes .../gui/image/qimagereader/tst_qimagereader.cpp | 25 +++++++++++++++++++++ 4 files changed, 25 insertions(+) create mode 100644 tests/auto/gui/image/qimagereader/images/qticon16.png create mode 100644 tests/auto/gui/image/qimagereader/images/qticon16@2x.png create mode 100644 tests/auto/gui/image/qimagereader/images/qticon16@3x.png (limited to 'tests/auto/gui/image/qimagereader') diff --git a/tests/auto/gui/image/qimagereader/images/qticon16.png b/tests/auto/gui/image/qimagereader/images/qticon16.png new file mode 100644 index 0000000000..b6b01a4d64 Binary files /dev/null and b/tests/auto/gui/image/qimagereader/images/qticon16.png differ diff --git a/tests/auto/gui/image/qimagereader/images/qticon16@2x.png b/tests/auto/gui/image/qimagereader/images/qticon16@2x.png new file mode 100644 index 0000000000..205461daf0 Binary files /dev/null and b/tests/auto/gui/image/qimagereader/images/qticon16@2x.png differ diff --git a/tests/auto/gui/image/qimagereader/images/qticon16@3x.png b/tests/auto/gui/image/qimagereader/images/qticon16@3x.png new file mode 100644 index 0000000000..de92658241 Binary files /dev/null and b/tests/auto/gui/image/qimagereader/images/qticon16@3x.png differ diff --git a/tests/auto/gui/image/qimagereader/tst_qimagereader.cpp b/tests/auto/gui/image/qimagereader/tst_qimagereader.cpp index c2ec5b8925..1eee2f273e 100644 --- a/tests/auto/gui/image/qimagereader/tst_qimagereader.cpp +++ b/tests/auto/gui/image/qimagereader/tst_qimagereader.cpp @@ -164,6 +164,9 @@ private slots: void preserveTexts_data(); void preserveTexts(); + void devicePixelRatio_data(); + void devicePixelRatio(); + private: QString prefix; QTemporaryDir m_temporaryDir; @@ -1976,6 +1979,28 @@ void tst_QImageReader::preserveTexts() QCOMPARE(r.text(key3), text3.simplified()); } +void tst_QImageReader::devicePixelRatio_data() +{ + QTest::addColumn("fileName"); + QTest::addColumn("size"); + QTest::addColumn("dpr"); + + QTest::newRow("1x") << "qticon16.png" << QSize(16, 16) << 1.0; + QTest::newRow("2x") << "qticon16@2x.png" << QSize(32, 32) << 2.0; + QTest::newRow("3x") << "qticon16@3x.png" << QSize(48, 48) << 3.0; +} + +void tst_QImageReader::devicePixelRatio() +{ + QFETCH(QString, fileName); + QFETCH(QSize, size); + QFETCH(qreal, dpr); + + QImageReader r(":/images/" + fileName); + QImage img = r.read(); + QCOMPARE(img.size(), size); + QCOMPARE(img.devicePixelRatio(), dpr); +} QTEST_MAIN(tst_QImageReader) #include "tst_qimagereader.moc" -- cgit v1.2.3