fixed Identify test so that it is more convenient to modify the list of test images
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3261 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -81,9 +81,16 @@ CheckTiff(translator_info *pti, const char *imageType)
|
|||||||
CPPUNIT_ASSERT(strcmp(pti->MIME, "image/tiff") == 0);
|
CPPUNIT_ASSERT(strcmp(pti->MIME, "image/tiff") == 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// coveniently group path of image with
|
||||||
|
// the expected Identify() string for that image
|
||||||
|
struct IdentifyInfo {
|
||||||
|
const char *imagePath;
|
||||||
|
const char *identifyString;
|
||||||
|
};
|
||||||
|
|
||||||
void
|
void
|
||||||
IdentifyTests(TIFFTranslatorTest *ptest, BTranslatorRoster *proster,
|
IdentifyTests(TIFFTranslatorTest *ptest, BTranslatorRoster *proster,
|
||||||
const char **paths, const char **imageTypes, int32 len, bool bbits)
|
const IdentifyInfo *pinfo, int32 len, bool bbits)
|
||||||
{
|
{
|
||||||
translator_info ti;
|
translator_info ti;
|
||||||
printf(" [%d] ", (int) bbits);
|
printf(" [%d] ", (int) bbits);
|
||||||
@@ -91,8 +98,8 @@ IdentifyTests(TIFFTranslatorTest *ptest, BTranslatorRoster *proster,
|
|||||||
for (int32 i = 0; i < len; i++) {
|
for (int32 i = 0; i < len; i++) {
|
||||||
ptest->NextSubTest();
|
ptest->NextSubTest();
|
||||||
BFile file;
|
BFile file;
|
||||||
printf(" [%s] ", paths[i]);
|
printf(" [%s] ", pinfo[i].imagePath);
|
||||||
CPPUNIT_ASSERT(file.SetTo(paths[i], B_READ_ONLY) == B_OK);
|
CPPUNIT_ASSERT(file.SetTo(pinfo[i].imagePath, B_READ_ONLY) == B_OK);
|
||||||
|
|
||||||
// Identify (output: B_TRANSLATOR_ANY_TYPE)
|
// Identify (output: B_TRANSLATOR_ANY_TYPE)
|
||||||
ptest->NextSubTest();
|
ptest->NextSubTest();
|
||||||
@@ -101,7 +108,7 @@ IdentifyTests(TIFFTranslatorTest *ptest, BTranslatorRoster *proster,
|
|||||||
if (bbits)
|
if (bbits)
|
||||||
CheckBits(&ti);
|
CheckBits(&ti);
|
||||||
else
|
else
|
||||||
CheckTiff(&ti, imageTypes[i]);
|
CheckTiff(&ti, pinfo[i].identifyString);
|
||||||
|
|
||||||
// Identify (output: B_TRANSLATOR_BITMAP)
|
// Identify (output: B_TRANSLATOR_BITMAP)
|
||||||
ptest->NextSubTest();
|
ptest->NextSubTest();
|
||||||
@@ -111,7 +118,7 @@ IdentifyTests(TIFFTranslatorTest *ptest, BTranslatorRoster *proster,
|
|||||||
if (bbits)
|
if (bbits)
|
||||||
CheckBits(&ti);
|
CheckBits(&ti);
|
||||||
else
|
else
|
||||||
CheckTiff(&ti, imageTypes[i]);
|
CheckTiff(&ti, pinfo[i].identifyString);
|
||||||
|
|
||||||
// Identify (output: B_TIFF_FORMAT)
|
// Identify (output: B_TIFF_FORMAT)
|
||||||
ptest->NextSubTest();
|
ptest->NextSubTest();
|
||||||
@@ -121,7 +128,7 @@ IdentifyTests(TIFFTranslatorTest *ptest, BTranslatorRoster *proster,
|
|||||||
if (bbits)
|
if (bbits)
|
||||||
CheckBits(&ti);
|
CheckBits(&ti);
|
||||||
else
|
else
|
||||||
CheckTiff(&ti, imageTypes[i]);
|
CheckTiff(&ti, pinfo[i].identifyString);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -156,77 +163,73 @@ TIFFTranslatorTest::IdentifyTest()
|
|||||||
CPPUNIT_ASSERT(ti.type == 0 && ti.translator == 0);
|
CPPUNIT_ASSERT(ti.type == 0 && ti.translator == 0);
|
||||||
|
|
||||||
// Identify (successfully identify the following files)
|
// Identify (successfully identify the following files)
|
||||||
const char *aBitsFiles[] = {
|
const IdentifyInfo aBitsPaths[] = {
|
||||||
"/boot/home/resources/tiff/beer.bits",
|
{ "/boot/home/resources/tiff/beer.bits", "" },
|
||||||
"/boot/home/resources/tiff/blocks.bits"
|
{ "/boot/home/resources/tiff/blocks.bits", "" }
|
||||||
};
|
};
|
||||||
const char *aTiffFiles[] = {
|
const IdentifyInfo aTiffPaths[] = {
|
||||||
"/boot/home/resources/tiff/beer_rgb_nocomp.tif",
|
{ "/boot/home/resources/tiff/beer_rgb_nocomp.tif",
|
||||||
"/boot/home/resources/tiff/beer_rgb_nocomp_big.tif",
|
"TIFF Image (Little, RGB, None)" },
|
||||||
"/boot/home/resources/tiff/blocks_rgb_nocomp.tif",
|
{ "/boot/home/resources/tiff/beer_rgb_nocomp_big.tif",
|
||||||
"/boot/home/resources/tiff/hills_bw_huffman.tif",
|
"TIFF Image (Big, RGB, None)" },
|
||||||
"/boot/home/resources/tiff/hills_cmyk_nocomp.tif",
|
{ "/boot/home/resources/tiff/blocks_rgb_nocomp.tif",
|
||||||
"/boot/home/resources/tiff/hills_cmyk_nocomp_big.tif",
|
"TIFF Image (Little, RGB, None)" },
|
||||||
"/boot/home/resources/tiff/hills_rgb_nocomp.tif",
|
{ "/boot/home/resources/tiff/hills_bw_huffman.tif",
|
||||||
"/boot/home/resources/tiff/hills_rgb_packbits.tif",
|
"TIFF Image (Little, Mono, Huffman)" },
|
||||||
"/boot/home/resources/tiff/homes_bw_fax.tif",
|
{ "/boot/home/resources/tiff/hills_cmyk_nocomp.tif",
|
||||||
"/boot/home/resources/tiff/homes_bw_huffman.tif",
|
"TIFF Image (Little, CMYK, None)" },
|
||||||
"/boot/home/resources/tiff/homes_bw_nocomp.tif",
|
{ "/boot/home/resources/tiff/hills_cmyk_nocomp_big.tif",
|
||||||
"/boot/home/resources/tiff/homes_bw_nocomp_big.tif",
|
"TIFF Image (Big, CMYK, None)" },
|
||||||
"/boot/home/resources/tiff/homes_bw_packbits.tif",
|
{ "/boot/home/resources/tiff/hills_rgb_nocomp.tif",
|
||||||
"/boot/home/resources/tiff/homes_cmap4_nocomp.tif",
|
"TIFF Image (Little, RGB, None)" },
|
||||||
"/boot/home/resources/tiff/homes_cmap4_nocomp_big.tif",
|
{ "/boot/home/resources/tiff/hills_rgb_packbits.tif",
|
||||||
"/boot/home/resources/tiff/homes_cmap4_packbits.tif",
|
"TIFF Image (Little, RGB, PackBits)" },
|
||||||
"/boot/home/resources/tiff/homes_gray8_nocomp.tif",
|
{ "/boot/home/resources/tiff/homes_bw_fax.tif",
|
||||||
"/boot/home/resources/tiff/homes_gray8_nocomp_big.tif",
|
"TIFF Image (Little, Mono, Group 3)" },
|
||||||
"/boot/home/resources/tiff/homes_gray8_packbits.tif",
|
{ "/boot/home/resources/tiff/homes_bw_huffman.tif",
|
||||||
"/boot/home/resources/tiff/logo_cmap4_nocomp.tif",
|
"TIFF Image (Little, Mono, Huffman)" },
|
||||||
"/boot/home/resources/tiff/logo_cmap4_nocomp_big.tif",
|
{ "/boot/home/resources/tiff/homes_bw_nocomp.tif",
|
||||||
"/boot/home/resources/tiff/logo_cmap4_packbits.tif",
|
"TIFF Image (Little, Mono, None)" },
|
||||||
"/boot/home/resources/tiff/logo_cmap8_nocomp.tif",
|
{ "/boot/home/resources/tiff/homes_bw_nocomp_big.tif",
|
||||||
"/boot/home/resources/tiff/logo_cmap8_nocomp_big.tif",
|
"TIFF Image (Big, Mono, None)" },
|
||||||
"/boot/home/resources/tiff/logo_cmap8_packbits.tif",
|
{ "/boot/home/resources/tiff/homes_bw_packbits.tif",
|
||||||
"/boot/home/resources/tiff/logo_cmyk_nocomp.tif",
|
"TIFF Image (Little, Mono, PackBits)" },
|
||||||
"/boot/home/resources/tiff/vsmall_cmap4_nocomp.tif",
|
{ "/boot/home/resources/tiff/homes_cmap4_nocomp.tif",
|
||||||
"/boot/home/resources/tiff/vsmall_rgb_nocomp.tif"
|
"TIFF Image (Little, Palette, None)" },
|
||||||
|
{ "/boot/home/resources/tiff/homes_cmap4_nocomp_big.tif",
|
||||||
|
"TIFF Image (Big, Palette, None)" },
|
||||||
|
{ "/boot/home/resources/tiff/homes_cmap4_packbits.tif",
|
||||||
|
"TIFF Image (Little, Palette, PackBits)" },
|
||||||
|
{ "/boot/home/resources/tiff/homes_gray8_nocomp.tif",
|
||||||
|
"TIFF Image (Little, Gray, None)" },
|
||||||
|
{ "/boot/home/resources/tiff/homes_gray8_nocomp_big.tif",
|
||||||
|
"TIFF Image (Big, Gray, None)" },
|
||||||
|
{ "/boot/home/resources/tiff/homes_gray8_packbits.tif",
|
||||||
|
"TIFF Image (Little, Gray, PackBits)" },
|
||||||
|
{ "/boot/home/resources/tiff/logo_cmap4_nocomp.tif",
|
||||||
|
"TIFF Image (Little, Palette, None)" },
|
||||||
|
{ "/boot/home/resources/tiff/logo_cmap4_nocomp_big.tif",
|
||||||
|
"TIFF Image (Big, Palette, None)" },
|
||||||
|
{ "/boot/home/resources/tiff/logo_cmap4_packbits.tif",
|
||||||
|
"TIFF Image (Little, Palette, PackBits)" },
|
||||||
|
{ "/boot/home/resources/tiff/logo_cmap8_nocomp.tif",
|
||||||
|
"TIFF Image (Little, Palette, None)" },
|
||||||
|
{ "/boot/home/resources/tiff/logo_cmap8_nocomp_big.tif",
|
||||||
|
"TIFF Image (Big, Palette, None)" },
|
||||||
|
{ "/boot/home/resources/tiff/logo_cmap8_packbits.tif",
|
||||||
|
"TIFF Image (Little, Palette, PackBits)" },
|
||||||
|
{ "/boot/home/resources/tiff/logo_cmyk_nocomp.tif",
|
||||||
|
"TIFF Image (Little, CMYK, None)" },
|
||||||
|
{ "/boot/home/resources/tiff/vsmall_cmap4_nocomp.tif",
|
||||||
|
"TIFF Image (Little, Palette, None)" },
|
||||||
|
{ "/boot/home/resources/tiff/vsmall_rgb_nocomp.tif",
|
||||||
|
"TIFF Image (Little, RGB, None)" }
|
||||||
};
|
};
|
||||||
const char *aTiffTypes[] = {
|
|
||||||
"TIFF Image (Little, RGB, None)",
|
|
||||||
"TIFF Image (Big, RGB, None)",
|
|
||||||
"TIFF Image (Little, RGB, None)",
|
|
||||||
"TIFF Image (Little, Mono, Huffman)",
|
|
||||||
"TIFF Image (Little, CMYK, None)",
|
|
||||||
"TIFF Image (Big, CMYK, None)",
|
|
||||||
"TIFF Image (Little, RGB, None)",
|
|
||||||
"TIFF Image (Little, RGB, PackBits)",
|
|
||||||
"TIFF Image (Little, Mono, Group 3)",
|
|
||||||
"TIFF Image (Little, Mono, Huffman)",
|
|
||||||
"TIFF Image (Little, Mono, None)",
|
|
||||||
"TIFF Image (Big, Mono, None)",
|
|
||||||
"TIFF Image (Little, Mono, PackBits)",
|
|
||||||
"TIFF Image (Little, Palette, None)",
|
|
||||||
"TIFF Image (Big, Palette, None)",
|
|
||||||
"TIFF Image (Little, Palette, PackBits)",
|
|
||||||
"TIFF Image (Little, Gray, None)",
|
|
||||||
"TIFF Image (Big, Gray, None)",
|
|
||||||
"TIFF Image (Little, Gray, PackBits)",
|
|
||||||
"TIFF Image (Little, Palette, None)",
|
|
||||||
"TIFF Image (Big, Palette, None)",
|
|
||||||
"TIFF Image (Little, Palette, PackBits)",
|
|
||||||
"TIFF Image (Little, Palette, None)",
|
|
||||||
"TIFF Image (Big, Palette, None)",
|
|
||||||
"TIFF Image (Little, Palette, PackBits)",
|
|
||||||
"TIFF Image (Little, CMYK, None)",
|
|
||||||
"TIFF Image (Little, Palette, None)",
|
|
||||||
"TIFF Image (Little, RGB, None)",
|
|
||||||
};
|
|
||||||
CPPUNIT_ASSERT((sizeof(aTiffFiles) / sizeof(const char *)) ==
|
|
||||||
(sizeof(aTiffTypes) / sizeof(const char *)));
|
|
||||||
|
|
||||||
IdentifyTests(this, proster, aTiffFiles, aTiffTypes,
|
IdentifyTests(this, proster, aTiffPaths,
|
||||||
sizeof(aTiffFiles) / sizeof(const char *), false);
|
sizeof(aTiffPaths) / sizeof(IdentifyInfo), false);
|
||||||
IdentifyTests(this, proster, aBitsFiles, NULL,
|
IdentifyTests(this, proster, aBitsPaths,
|
||||||
sizeof(aBitsFiles) / sizeof(const char *), true);
|
sizeof(aBitsPaths) / sizeof(IdentifyInfo), true);
|
||||||
|
|
||||||
delete proster;
|
delete proster;
|
||||||
proster = NULL;
|
proster = NULL;
|
||||||
|
|||||||
Reference in New Issue
Block a user