summaryrefslogtreecommitdiffstats
path: root/tests/auto/gui/image/qimage
diff options
context:
space:
mode:
authorEirik Aavitsland <eirik.aavitsland@qt.io>2021-05-28 16:06:58 +0200
committerEirik Aavitsland <eirik.aavitsland@qt.io>2021-06-02 23:02:45 +0200
commit2b524528435047fe4b47991cb57ecfb5de5645b5 (patch)
tree9b2f408c07576c63caace49500944a9c82e48a09 /tests/auto/gui/image/qimage
parent5b6f5c6fc2a269c0af7d6de9c4ebf55c54a54770 (diff)
Add load/fromdata() overloads taking QByteArrayView to QImage
Handy when one has the data buffer to be read in a QBAV. This also fixes an issue and compiler warning about passing a qsizetype data length value as an int, and makes it possible to pass a qsizetype-size length without going through QByteArray. Makes the QByteArray overload redundant. Change-Id: Iba8825cf0fd8003fb2eac5b1d30a61ec91b85ceb Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'tests/auto/gui/image/qimage')
-rw-r--r--tests/auto/gui/image/qimage/tst_qimage.cpp33
1 files changed, 27 insertions, 6 deletions
diff --git a/tests/auto/gui/image/qimage/tst_qimage.cpp b/tests/auto/gui/image/qimage/tst_qimage.cpp
index 57fee0a547..e72fd8987b 100644
--- a/tests/auto/gui/image/qimage/tst_qimage.cpp
+++ b/tests/auto/gui/image/qimage/tst_qimage.cpp
@@ -1269,15 +1269,36 @@ void tst_QImage::loadFromData()
QVERIFY(original.save(&buf, "BMP"));
}
QVERIFY(!ba.isEmpty());
+ const uchar *baPtr = reinterpret_cast<const uchar *>(ba.constData());
- QImage dest;
- QVERIFY(dest.loadFromData(ba, "BMP"));
- QVERIFY(!dest.isNull());
+ {
+ QImage dest;
+ QVERIFY(dest.loadFromData(QByteArrayView(ba), "BMP"));
+ QCOMPARE(original, dest);
- QCOMPARE(original, dest);
+ QVERIFY(!dest.loadFromData(QByteArrayView()));
+ QVERIFY(dest.isNull());
+ }
+ {
+ QImage dest;
+ QVERIFY(dest.loadFromData(ba, "BMP"));
+ QCOMPARE(original, dest);
- QVERIFY(!dest.loadFromData(QByteArray()));
- QVERIFY(dest.isNull());
+ QVERIFY(!dest.loadFromData(QByteArray()));
+ QVERIFY(dest.isNull());
+ }
+ {
+ QImage dest;
+ QVERIFY(dest.loadFromData(baPtr, int(ba.size()), "BMP"));
+ QCOMPARE(original, dest);
+
+ QVERIFY(!dest.loadFromData(nullptr, 0));
+ QVERIFY(dest.isNull());
+ }
+
+ QCOMPARE(original, QImage::fromData(QByteArrayView(ba), "BMP"));
+ QCOMPARE(original, QImage::fromData(ba, "BMP"));
+ QCOMPARE(original, QImage::fromData(baPtr, int(ba.size()), "BMP"));
}
#if !defined(QT_NO_DATASTREAM)