diff options
Diffstat (limited to 'tests/auto/gui/image/qpixmap/tst_qpixmap.cpp')
-rw-r--r-- | tests/auto/gui/image/qpixmap/tst_qpixmap.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/auto/gui/image/qpixmap/tst_qpixmap.cpp b/tests/auto/gui/image/qpixmap/tst_qpixmap.cpp index e3bda6c2df..9a338ad55a 100644 --- a/tests/auto/gui/image/qpixmap/tst_qpixmap.cpp +++ b/tests/auto/gui/image/qpixmap/tst_qpixmap.cpp @@ -90,6 +90,7 @@ private slots: void mask(); void bitmapMask(); + void bitmapFromImageRvalue(); void setGetMask_data(); void setGetMask(); void cacheKey(); @@ -596,6 +597,27 @@ void tst_QPixmap::bitmapMask() QVERIFY(image.pixel(1, 1)); } +void tst_QPixmap::bitmapFromImageRvalue() +{ + auto makeImage = [](){ + QImage image(3, 3, QImage::Format_MonoLSB); + image.setColor(0, Qt::color0); + image.setColor(1, Qt::color1); + image.fill(Qt::color0); + image.setPixel(1, 1, Qt::color1); + image.setPixel(0, 0, Qt::color1); + return image; + }; + + auto image1 = makeImage(); + auto image2 = makeImage(); + auto bitmap1 = QBitmap::fromImage(image1); + auto bitmap2 = QBitmap::fromImage(std::move(image2)); + QCOMPARE(bitmap1.toImage(), bitmap2.toImage()); + QVERIFY(!image1.isNull()); + QVERIFY(image2.isNull()); +} + void tst_QPixmap::setGetMask_data() { QTest::addColumn<QPixmap>("pixmap"); |