diff options
Diffstat (limited to 'tests/auto/tiff/tst_qtiff.cpp')
-rw-r--r-- | tests/auto/tiff/tst_qtiff.cpp | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/auto/tiff/tst_qtiff.cpp b/tests/auto/tiff/tst_qtiff.cpp index 29d85df..8cdc6da 100644 --- a/tests/auto/tiff/tst_qtiff.cpp +++ b/tests/auto/tiff/tst_qtiff.cpp @@ -87,6 +87,9 @@ private slots: void readRgba64(); void readGray16(); + void colorSpace_data(); + void colorSpace(); + private: QString prefix; }; @@ -624,5 +627,41 @@ void tst_qtiff::readGray16() QCOMPARE(image.format(), QImage::Format_Grayscale16); } +void tst_qtiff::colorSpace_data() +{ + QTest::addColumn<QColorSpace::ColorSpaceId>("colorspaceId"); + + QTest::newRow("Undefined") << QColorSpace::Undefined; + QTest::newRow("sRGB") << QColorSpace::SRgb; + QTest::newRow("sRGB(linear)") << QColorSpace::SRgbLinear; + QTest::newRow("AdobeRGB") << QColorSpace::AdobeRgb; + QTest::newRow("DisplayP3") << QColorSpace::DisplayP3; + QTest::newRow("ProPhotoRgb") << QColorSpace::ProPhotoRgb; +} + +void tst_qtiff::colorSpace() +{ + QFETCH(QColorSpace::ColorSpaceId, colorspaceId); + + QImage image(prefix + "colorful.bmp"); + QVERIFY(!image.isNull()); + + image.setColorSpace(colorspaceId); + + QByteArray output; + QBuffer buf(&output); + QVERIFY(buf.open(QIODevice::WriteOnly)); + QImageWriter writer(&buf, "tiff"); + writer.write(image); + buf.close(); + + QVERIFY(buf.open(QIODevice::ReadOnly)); + QImageReader reader(&buf); + QImage image2 = reader.read(); + + QCOMPARE(image2.colorSpace(), QColorSpace(colorspaceId)); + QCOMPARE(image2, image); +} + QTEST_MAIN(tst_qtiff) #include "tst_qtiff.moc" |