mirror of
https://invent.kde.org/frameworks/kimageformats.git
synced 2025-05-28 00:30:23 -04:00
JXR: added CMYK image to read test
Improved read test to skip unsupported image format: the CMYK image test only works if you compile with Qt 6.8 or higher.
This commit is contained in:
parent
4f61e3912c
commit
cb5ca7fc48
BIN
autotests/read/jxr/testcard_cmyk8.jxr
Normal file
BIN
autotests/read/jxr/testcard_cmyk8.jxr
Normal file
Binary file not shown.
11
autotests/read/jxr/testcard_cmyk8.jxr.json
Normal file
11
autotests/read/jxr/testcard_cmyk8.jxr.json
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"minQtVersion" : "6.8.0",
|
||||||
|
"fileName" : "testcard_cmyk8.tif"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"maxQtVersion" : "6.7.99",
|
||||||
|
"unsupportedFormat" : true,
|
||||||
|
"comment" : "Qt versions lower than 6.8 do not support CMYK format so this test should be skipped."
|
||||||
|
}
|
||||||
|
]
|
BIN
autotests/read/jxr/testcard_cmyk8.tif
Normal file
BIN
autotests/read/jxr/testcard_cmyk8.tif
Normal file
Binary file not shown.
@ -165,7 +165,13 @@ int main(int argc, char **argv)
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
QFileInfo expFileInfo = timg.compareImage();
|
bool skipTest = false;
|
||||||
|
QFileInfo expFileInfo = timg.compareImage(skipTest);
|
||||||
|
if (skipTest) {
|
||||||
|
QTextStream(stdout) << "SKIP : " << fi.fileName() << ": image format not supported by current Qt version!\n";
|
||||||
|
++skipped;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
if (!formatStrings.contains(expFileInfo.suffix(), Qt::CaseInsensitive)) {
|
if (!formatStrings.contains(expFileInfo.suffix(), Qt::CaseInsensitive)) {
|
||||||
// Work Around for CCBUG: 468288
|
// Work Around for CCBUG: 468288
|
||||||
QTextStream(stdout) << "SKIP : " << fi.fileName() << ": comparison image " << expFileInfo.fileName() << " cannot be loaded due to the lack of "
|
QTextStream(stdout) << "SKIP : " << fi.fileName() << ": comparison image " << expFileInfo.fileName() << " cannot be loaded due to the lack of "
|
||||||
|
@ -28,9 +28,12 @@ bool TemplateImage::isTemplate() const
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
QFileInfo TemplateImage::compareImage() const
|
QFileInfo TemplateImage::compareImage(bool &skipTest) const
|
||||||
{
|
{
|
||||||
auto fi = jsonImage();
|
auto fi = jsonImage(skipTest);
|
||||||
|
if (skipTest) {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
if (fi.exists()) {
|
if (fi.exists()) {
|
||||||
return fi;
|
return fi;
|
||||||
}
|
}
|
||||||
@ -55,7 +58,7 @@ QFileInfo TemplateImage::legacyImage() const
|
|||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
QFileInfo TemplateImage::jsonImage() const
|
QFileInfo TemplateImage::jsonImage(bool &skipTest) const
|
||||||
{
|
{
|
||||||
auto fi = QFileInfo(QStringLiteral("%1.json").arg(m_fi.filePath()));
|
auto fi = QFileInfo(QStringLiteral("%1.json").arg(m_fi.filePath()));
|
||||||
if (!fi.exists()) {
|
if (!fi.exists()) {
|
||||||
@ -82,14 +85,19 @@ QFileInfo TemplateImage::jsonImage() const
|
|||||||
auto minQt = QVersionNumber::fromString(obj.value("minQtVersion").toString());
|
auto minQt = QVersionNumber::fromString(obj.value("minQtVersion").toString());
|
||||||
auto maxQt = QVersionNumber::fromString(obj.value("maxQtVersion").toString());
|
auto maxQt = QVersionNumber::fromString(obj.value("maxQtVersion").toString());
|
||||||
auto name = obj.value("fileName").toString();
|
auto name = obj.value("fileName").toString();
|
||||||
|
auto unsupportedFormat = obj.value("unsupportedFormat").toBool();
|
||||||
|
|
||||||
// filter
|
// filter
|
||||||
if (name.isEmpty())
|
if (name.isEmpty() && !unsupportedFormat)
|
||||||
continue;
|
continue;
|
||||||
if (!minQt.isNull() && currentQt < minQt)
|
if (!minQt.isNull() && currentQt < minQt)
|
||||||
continue;
|
continue;
|
||||||
if (!maxQt.isNull() && currentQt > maxQt)
|
if (!maxQt.isNull() && currentQt > maxQt)
|
||||||
continue;
|
continue;
|
||||||
|
if (unsupportedFormat) {
|
||||||
|
skipTest = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
return QFileInfo(QStringLiteral("%1/%2").arg(fi.path(), name));
|
return QFileInfo(QStringLiteral("%1/%2").arg(fi.path(), name));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -42,9 +42,10 @@ public:
|
|||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief compareImage
|
* \brief compareImage
|
||||||
|
* \param skipTest True if the test should be skipped (e.g. image format not supported by current Qt version).
|
||||||
* \return The template image to use for the comparison.
|
* \return The template image to use for the comparison.
|
||||||
*/
|
*/
|
||||||
QFileInfo compareImage() const;
|
QFileInfo compareImage(bool &skipTest) const;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief suffixes
|
* \brief suffixes
|
||||||
@ -61,9 +62,10 @@ private:
|
|||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief jsonImage
|
* \brief jsonImage
|
||||||
|
* \param skipTest True if the test should be skipped (not supported).
|
||||||
* \return The template image read from the corresponding JSON.
|
* \return The template image read from the corresponding JSON.
|
||||||
*/
|
*/
|
||||||
QFileInfo jsonImage() const;
|
QFileInfo jsonImage(bool &skipTest) const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QFileInfo m_fi;
|
QFileInfo m_fi;
|
||||||
|
Loading…
Reference in New Issue
Block a user