summaryrefslogtreecommitdiffstats
path: root/tests/auto/gui/painting/qcolorspace/tst_qcolorspace.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/gui/painting/qcolorspace/tst_qcolorspace.cpp')
-rw-r--r--tests/auto/gui/painting/qcolorspace/tst_qcolorspace.cpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/auto/gui/painting/qcolorspace/tst_qcolorspace.cpp b/tests/auto/gui/painting/qcolorspace/tst_qcolorspace.cpp
index 3564700fe5..4acbfbba74 100644
--- a/tests/auto/gui/painting/qcolorspace/tst_qcolorspace.cpp
+++ b/tests/auto/gui/painting/qcolorspace/tst_qcolorspace.cpp
@@ -74,6 +74,8 @@ private slots:
void changeTransferFunction();
void changePrimaries();
+
+ void transferFunctionTable();
};
tst_QColorSpace::tst_QColorSpace()
@@ -468,5 +470,32 @@ void tst_QColorSpace::changePrimaries()
QCOMPARE(cs, QColorSpace(QColorSpace::SRgbLinear));
}
+void tst_QColorSpace::transferFunctionTable()
+{
+ QVector<quint16> linearTable = { 0, 65535 };
+
+ // Check linearSRgb is recognized
+ QColorSpace linearSRgb(QColorSpace::Primaries::SRgb, linearTable);
+ QCOMPARE(linearSRgb.primaries(), QColorSpace::Primaries::SRgb);
+ QCOMPARE(linearSRgb.transferFunction(), QColorSpace::TransferFunction::Linear);
+ QCOMPARE(linearSRgb.gamma(), 1.0);
+ QCOMPARE(linearSRgb, QColorSpace::SRgbLinear);
+
+ // Check other linear is recognized
+ QColorSpace linearARgb(QColorSpace::Primaries::AdobeRgb, linearTable);
+ QCOMPARE(linearARgb.primaries(), QColorSpace::Primaries::AdobeRgb);
+ QCOMPARE(linearARgb.transferFunction(), QColorSpace::TransferFunction::Linear);
+ QCOMPARE(linearARgb.gamma(), 1.0);
+
+ // Check custom transfer function.
+ QVector<quint16> customTable = { 0, 10, 100, 10000, 65535 };
+ QColorSpace customSRgb(QColorSpace::Primaries::SRgb, customTable);
+ QCOMPARE(customSRgb.primaries(), QColorSpace::Primaries::SRgb);
+ QCOMPARE(customSRgb.transferFunction(), QColorSpace::TransferFunction::Custom);
+
+ customSRgb.setTransferFunction(linearTable);
+ QCOMPARE(customSRgb, QColorSpace::SRgbLinear);
+}
+
QTEST_MAIN(tst_QColorSpace)
#include "tst_qcolorspace.moc"