summaryrefslogtreecommitdiffstats
path: root/tests/auto/gui/image/qimage
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2019-07-19 11:30:29 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2019-07-23 23:37:37 +0200
commit733ca2230c283cdfaae424eac481ddc33593f44f (patch)
tree235d10076fd80c4d1659f2b951e5b203bfe4e2b4 /tests/auto/gui/image/qimage
parentb6f7efba4831c411456400e2df87df99877f67ae (diff)
Fix comparisons of image with different color spaces
Take color space into account when comparing images, and fix gamma comparison that was trying to be too accurate. Change-Id: I3674653abb21b66aaacb557addc4afb4ee75cfdd Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
Diffstat (limited to 'tests/auto/gui/image/qimage')
-rw-r--r--tests/auto/gui/image/qimage/tst_qimage.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/auto/gui/image/qimage/tst_qimage.cpp b/tests/auto/gui/image/qimage/tst_qimage.cpp
index 441ec17412..e007a15419 100644
--- a/tests/auto/gui/image/qimage/tst_qimage.cpp
+++ b/tests/auto/gui/image/qimage/tst_qimage.cpp
@@ -232,6 +232,8 @@ private slots:
void wideImage();
+ void colorspaceEquality();
+
#if defined(Q_OS_WIN) && !defined(Q_OS_WINRT)
void toWinHBITMAP_data();
void toWinHBITMAP();
@@ -3618,6 +3620,22 @@ void tst_QImage::wideImage()
// Qt6: Test that it actually works on 64bit architectures.
}
+void tst_QImage::colorspaceEquality()
+{
+ QImage image1(10, 10, QImage::Format_RGB32);
+ image1.fill(Qt::red);
+ QImage image2(image1);
+ QCOMPARE(image1, image2);
+ image1.setColorSpace(QColorSpace::SRgbLinear);
+ QVERIFY(image1 != image2);
+ image2.setColorSpace(QColorSpace::SRgbLinear);
+ QVERIFY(image1 == image2);
+ image1.setColorSpace(QColorSpace(QColorSpace::Gamut::DciP3D65, QColorSpace::TransferFunction::Gamma, 2.2f));
+ QVERIFY(image1 != image2);
+ image2.setColorSpace(QColorSpace(QColorSpace::Gamut::DciP3D65, QColorSpace::TransferFunction::Gamma, 2.2001f));
+ QVERIFY(image1 == image2);
+}
+
#if defined(Q_OS_WIN) && !defined(Q_OS_WINRT)
QT_BEGIN_NAMESPACE
Q_GUI_EXPORT HBITMAP qt_imageToWinHBITMAP(const QImage &p, int hbitmapFormat = 0);