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:
Mirco Miranda 2024-06-07 14:09:34 +00:00 committed by Albert Astals Cid
parent 4f61e3912c
commit cb5ca7fc48
6 changed files with 34 additions and 7 deletions

Binary file not shown.

View 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."
}
]

Binary file not shown.

View File

@ -165,7 +165,13 @@ int main(int argc, char **argv)
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)) {
// Work Around for CCBUG: 468288
QTextStream(stdout) << "SKIP : " << fi.fileName() << ": comparison image " << expFileInfo.fileName() << " cannot be loaded due to the lack of "

View File

@ -28,9 +28,12 @@ bool TemplateImage::isTemplate() const
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()) {
return fi;
}
@ -55,7 +58,7 @@ QFileInfo TemplateImage::legacyImage() const
return {};
}
QFileInfo TemplateImage::jsonImage() const
QFileInfo TemplateImage::jsonImage(bool &skipTest) const
{
auto fi = QFileInfo(QStringLiteral("%1.json").arg(m_fi.filePath()));
if (!fi.exists()) {
@ -82,14 +85,19 @@ QFileInfo TemplateImage::jsonImage() const
auto minQt = QVersionNumber::fromString(obj.value("minQtVersion").toString());
auto maxQt = QVersionNumber::fromString(obj.value("maxQtVersion").toString());
auto name = obj.value("fileName").toString();
auto unsupportedFormat = obj.value("unsupportedFormat").toBool();
// filter
if (name.isEmpty())
if (name.isEmpty() && !unsupportedFormat)
continue;
if (!minQt.isNull() && currentQt < minQt)
continue;
if (!maxQt.isNull() && currentQt > maxQt)
continue;
if (unsupportedFormat) {
skipTest = true;
break;
}
return QFileInfo(QStringLiteral("%1/%2").arg(fi.path(), name));
}

View File

@ -42,9 +42,10 @@ public:
/*!
* \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.
*/
QFileInfo compareImage() const;
QFileInfo compareImage(bool &skipTest) const;
/*!
* \brief suffixes
@ -61,9 +62,10 @@ private:
/*!
* \brief jsonImage
* \param skipTest True if the test should be skipped (not supported).
* \return The template image read from the corresponding JSON.
*/
QFileInfo jsonImage() const;
QFileInfo jsonImage(bool &skipTest) const;
private:
QFileInfo m_fi;