Add tests for ImageFactory::checkMode (for all the supported image types)
This commit is contained in:
parent
335b4a71ed
commit
690dde3440
@ -49,7 +49,6 @@ namespace Exiv2 {
|
||||
rw2, ///<
|
||||
pgf, ///<
|
||||
webp, ///<
|
||||
bigtiff, ///<
|
||||
eps,
|
||||
bmff,
|
||||
};
|
||||
|
||||
@ -68,16 +68,39 @@ namespace Exiv2 {
|
||||
typedef std::pair<int32_t, int32_t> Rational;
|
||||
|
||||
//! Type to express the byte order (little or big endian)
|
||||
enum ByteOrder { invalidByteOrder, littleEndian, bigEndian };
|
||||
enum ByteOrder
|
||||
{
|
||||
invalidByteOrder,
|
||||
littleEndian,
|
||||
bigEndian,
|
||||
};
|
||||
|
||||
//! Type to indicate write method used by TIFF parsers
|
||||
enum WriteMethod { wmIntrusive, wmNonIntrusive };
|
||||
enum WriteMethod
|
||||
{
|
||||
wmIntrusive,
|
||||
wmNonIntrusive,
|
||||
};
|
||||
|
||||
//! An identifier for each type of metadata
|
||||
enum MetadataId { mdNone=0, mdExif=1, mdIptc=2, mdComment=4, mdXmp=8, mdIccProfile=16 };
|
||||
enum MetadataId
|
||||
{
|
||||
mdNone = 0,
|
||||
mdExif = 1,
|
||||
mdIptc = 2,
|
||||
mdComment = 4,
|
||||
mdXmp = 8,
|
||||
mdIccProfile = 16,
|
||||
};
|
||||
|
||||
//! An identifier for each mode of metadata support
|
||||
enum AccessMode { amNone=0, amRead=1, amWrite=2, amReadWrite=3 };
|
||||
enum AccessMode
|
||||
{
|
||||
amNone = 0,
|
||||
amRead = 1,
|
||||
amWrite = 2,
|
||||
amReadWrite = 3,
|
||||
};
|
||||
|
||||
/*!
|
||||
@brief %Exiv2 value type identifiers.
|
||||
|
||||
@ -139,3 +139,257 @@ TEST(TheImageFactory, loadInstancesDifferentImageTypes)
|
||||
EXPECT_EQ(ImageType::jp2, ImageFactory::getType(imagePath));
|
||||
EXPECT_NO_THROW(ImageFactory::open(imagePath, false));
|
||||
}
|
||||
|
||||
TEST(TheImageFactory, getsExpectedModesForJp2Images)
|
||||
{
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::jp2, mdNone));
|
||||
EXPECT_EQ(amReadWrite, ImageFactory::checkMode(ImageType::jp2, mdExif));
|
||||
EXPECT_EQ(amReadWrite, ImageFactory::checkMode(ImageType::jp2, mdIptc));
|
||||
EXPECT_EQ(amReadWrite, ImageFactory::checkMode(ImageType::jp2, mdXmp));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::jp2, mdComment));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::jp2, mdIccProfile));
|
||||
}
|
||||
|
||||
TEST(TheImageFactory, getsExpectedModesForJpegImages)
|
||||
{
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::jpeg, mdNone));
|
||||
EXPECT_EQ(amReadWrite, ImageFactory::checkMode(ImageType::jpeg, mdExif));
|
||||
EXPECT_EQ(amReadWrite, ImageFactory::checkMode(ImageType::jpeg, mdIptc));
|
||||
EXPECT_EQ(amReadWrite, ImageFactory::checkMode(ImageType::jpeg, mdXmp));
|
||||
EXPECT_EQ(amReadWrite, ImageFactory::checkMode(ImageType::jpeg, mdComment));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::jpeg, mdIccProfile));
|
||||
}
|
||||
|
||||
TEST(TheImageFactory, getsExpectedModesForExvImages)
|
||||
{
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::exv, mdNone));
|
||||
EXPECT_EQ(amReadWrite, ImageFactory::checkMode(ImageType::exv, mdExif));
|
||||
EXPECT_EQ(amReadWrite, ImageFactory::checkMode(ImageType::exv, mdIptc));
|
||||
EXPECT_EQ(amReadWrite, ImageFactory::checkMode(ImageType::exv, mdXmp));
|
||||
EXPECT_EQ(amReadWrite, ImageFactory::checkMode(ImageType::exv, mdComment));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::exv, mdIccProfile));
|
||||
}
|
||||
|
||||
TEST(TheImageFactory, getsExpectedModesForPgfImages)
|
||||
{
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::pgf, mdNone));
|
||||
EXPECT_EQ(amReadWrite, ImageFactory::checkMode(ImageType::pgf, mdExif));
|
||||
EXPECT_EQ(amReadWrite, ImageFactory::checkMode(ImageType::pgf, mdIptc));
|
||||
EXPECT_EQ(amReadWrite, ImageFactory::checkMode(ImageType::pgf, mdXmp));
|
||||
EXPECT_EQ(amReadWrite, ImageFactory::checkMode(ImageType::pgf, mdComment));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::pgf, mdIccProfile));
|
||||
}
|
||||
|
||||
#ifdef EXV_HAVE_LIBZ
|
||||
TEST(TheImageFactory, getsExpectedModesForPngImages)
|
||||
{
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::png, mdNone));
|
||||
EXPECT_EQ(amReadWrite, ImageFactory::checkMode(ImageType::png, mdExif));
|
||||
EXPECT_EQ(amReadWrite, ImageFactory::checkMode(ImageType::png, mdIptc));
|
||||
EXPECT_EQ(amReadWrite, ImageFactory::checkMode(ImageType::png, mdXmp));
|
||||
EXPECT_EQ(amReadWrite, ImageFactory::checkMode(ImageType::png, mdComment));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::png, mdIccProfile));
|
||||
}
|
||||
#endif
|
||||
|
||||
TEST(TheImageFactory, getsExpectedModesForBmpImages)
|
||||
{
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::bmp, mdNone));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::bmp, mdExif));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::bmp, mdIptc));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::bmp, mdXmp));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::bmp, mdComment));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::bmp, mdIccProfile));
|
||||
}
|
||||
|
||||
TEST(TheImageFactory, getsExpectedModesForCr2Images)
|
||||
{
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::cr2, mdNone));
|
||||
EXPECT_EQ(amReadWrite, ImageFactory::checkMode(ImageType::cr2, mdExif));
|
||||
EXPECT_EQ(amReadWrite, ImageFactory::checkMode(ImageType::cr2, mdIptc));
|
||||
EXPECT_EQ(amReadWrite, ImageFactory::checkMode(ImageType::cr2, mdXmp));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::cr2, mdComment));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::cr2, mdIccProfile));
|
||||
}
|
||||
|
||||
TEST(TheImageFactory, getsExpectedModesForCrwImages)
|
||||
{
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::crw, mdNone));
|
||||
EXPECT_EQ(amReadWrite, ImageFactory::checkMode(ImageType::crw, mdExif));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::crw, mdIptc));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::crw, mdXmp));
|
||||
EXPECT_EQ(amReadWrite, ImageFactory::checkMode(ImageType::crw, mdComment));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::crw, mdIccProfile));
|
||||
}
|
||||
|
||||
TEST(TheImageFactory, getsExpectedModesForGifImages)
|
||||
{
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::gif, mdNone));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::gif, mdExif));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::gif, mdIptc));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::gif, mdXmp));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::gif, mdComment));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::gif, mdIccProfile));
|
||||
}
|
||||
|
||||
TEST(TheImageFactory, getsExpectedModesForMrwImages)
|
||||
{
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::mrw, mdNone));
|
||||
EXPECT_EQ(amRead, ImageFactory::checkMode(ImageType::mrw, mdExif));
|
||||
EXPECT_EQ(amRead, ImageFactory::checkMode(ImageType::mrw, mdIptc));
|
||||
EXPECT_EQ(amRead, ImageFactory::checkMode(ImageType::mrw, mdXmp));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::mrw, mdComment));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::mrw, mdIccProfile));
|
||||
}
|
||||
|
||||
TEST(TheImageFactory, getsExpectedModesForOrfImages)
|
||||
{
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::orf, mdNone));
|
||||
EXPECT_EQ(amReadWrite, ImageFactory::checkMode(ImageType::orf, mdExif));
|
||||
EXPECT_EQ(amReadWrite, ImageFactory::checkMode(ImageType::orf, mdIptc));
|
||||
EXPECT_EQ(amReadWrite, ImageFactory::checkMode(ImageType::orf, mdXmp));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::orf, mdComment));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::orf, mdIccProfile));
|
||||
}
|
||||
|
||||
TEST(TheImageFactory, getsExpectedModesForPsdImages)
|
||||
{
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::psd, mdNone));
|
||||
EXPECT_EQ(amReadWrite, ImageFactory::checkMode(ImageType::psd, mdExif));
|
||||
EXPECT_EQ(amReadWrite, ImageFactory::checkMode(ImageType::psd, mdIptc));
|
||||
EXPECT_EQ(amReadWrite, ImageFactory::checkMode(ImageType::psd, mdXmp));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::psd, mdComment));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::psd, mdIccProfile));
|
||||
}
|
||||
|
||||
TEST(TheImageFactory, getsExpectedModesForRafImages)
|
||||
{
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::raf, mdNone));
|
||||
EXPECT_EQ(amRead, ImageFactory::checkMode(ImageType::raf, mdExif));
|
||||
EXPECT_EQ(amRead, ImageFactory::checkMode(ImageType::raf, mdIptc));
|
||||
EXPECT_EQ(amRead, ImageFactory::checkMode(ImageType::raf, mdXmp));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::raf, mdComment));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::raf, mdIccProfile));
|
||||
}
|
||||
|
||||
TEST(TheImageFactory, getsExpectedModesForRw2Images)
|
||||
{
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::rw2, mdNone));
|
||||
EXPECT_EQ(amRead, ImageFactory::checkMode(ImageType::rw2, mdExif));
|
||||
EXPECT_EQ(amRead, ImageFactory::checkMode(ImageType::rw2, mdIptc));
|
||||
EXPECT_EQ(amRead, ImageFactory::checkMode(ImageType::rw2, mdXmp));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::rw2, mdComment));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::rw2, mdIccProfile));
|
||||
}
|
||||
|
||||
TEST(TheImageFactory, getsExpectedModesForTgaImages)
|
||||
{
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::tga, mdNone));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::tga, mdExif));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::tga, mdIptc));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::tga, mdXmp));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::tga, mdComment));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::tga, mdIccProfile));
|
||||
}
|
||||
|
||||
TEST(TheImageFactory, getsExpectedModesForWebpImages)
|
||||
{
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::webp, mdNone));
|
||||
EXPECT_EQ(amReadWrite, ImageFactory::checkMode(ImageType::webp, mdExif));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::webp, mdIptc));
|
||||
EXPECT_EQ(amReadWrite, ImageFactory::checkMode(ImageType::webp, mdXmp));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::webp, mdComment));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::webp, mdIccProfile));
|
||||
}
|
||||
|
||||
TEST(TheImageFactory, getsExpectedModesForTiffImages)
|
||||
{
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::tiff, mdNone));
|
||||
EXPECT_EQ(amReadWrite, ImageFactory::checkMode(ImageType::tiff, mdExif));
|
||||
EXPECT_EQ(amReadWrite, ImageFactory::checkMode(ImageType::tiff, mdIptc));
|
||||
EXPECT_EQ(amReadWrite, ImageFactory::checkMode(ImageType::tiff, mdXmp));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::tiff, mdComment));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::tiff, mdIccProfile));
|
||||
}
|
||||
|
||||
TEST(TheImageFactory, getsExpectedModesForDngImages)
|
||||
{
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::dng, mdNone));
|
||||
EXPECT_EQ(amReadWrite, ImageFactory::checkMode(ImageType::dng, mdExif));
|
||||
EXPECT_EQ(amReadWrite, ImageFactory::checkMode(ImageType::dng, mdIptc));
|
||||
EXPECT_EQ(amReadWrite, ImageFactory::checkMode(ImageType::dng, mdXmp));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::dng, mdComment));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::dng, mdIccProfile));
|
||||
}
|
||||
|
||||
TEST(TheImageFactory, getsExpectedModesForNefImages)
|
||||
{
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::nef, mdNone));
|
||||
EXPECT_EQ(amReadWrite, ImageFactory::checkMode(ImageType::nef, mdExif));
|
||||
EXPECT_EQ(amReadWrite, ImageFactory::checkMode(ImageType::nef, mdIptc));
|
||||
EXPECT_EQ(amReadWrite, ImageFactory::checkMode(ImageType::nef, mdXmp));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::nef, mdComment));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::nef, mdIccProfile));
|
||||
}
|
||||
|
||||
TEST(TheImageFactory, getsExpectedModesForPefImages)
|
||||
{
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::pef, mdNone));
|
||||
EXPECT_EQ(amReadWrite, ImageFactory::checkMode(ImageType::pef, mdExif));
|
||||
EXPECT_EQ(amReadWrite, ImageFactory::checkMode(ImageType::pef, mdIptc));
|
||||
EXPECT_EQ(amReadWrite, ImageFactory::checkMode(ImageType::pef, mdXmp));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::pef, mdComment));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::pef, mdIccProfile));
|
||||
}
|
||||
|
||||
TEST(TheImageFactory, getsExpectedModesForArwImages)
|
||||
{
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::arw, mdNone));
|
||||
EXPECT_EQ(amRead, ImageFactory::checkMode(ImageType::arw, mdExif));
|
||||
EXPECT_EQ(amRead, ImageFactory::checkMode(ImageType::arw, mdIptc));
|
||||
EXPECT_EQ(amRead, ImageFactory::checkMode(ImageType::arw, mdXmp));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::arw, mdComment));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::arw, mdIccProfile));
|
||||
}
|
||||
|
||||
TEST(TheImageFactory, getsExpectedModesForSr2Images)
|
||||
{
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::sr2, mdNone));
|
||||
EXPECT_EQ(amRead, ImageFactory::checkMode(ImageType::sr2, mdExif));
|
||||
EXPECT_EQ(amRead, ImageFactory::checkMode(ImageType::sr2, mdIptc));
|
||||
EXPECT_EQ(amRead, ImageFactory::checkMode(ImageType::sr2, mdXmp));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::sr2, mdComment));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::sr2, mdIccProfile));
|
||||
}
|
||||
|
||||
TEST(TheImageFactory, getsExpectedModesForSrwImages)
|
||||
{
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::srw, mdNone));
|
||||
EXPECT_EQ(amReadWrite, ImageFactory::checkMode(ImageType::srw, mdExif));
|
||||
EXPECT_EQ(amReadWrite, ImageFactory::checkMode(ImageType::srw, mdIptc));
|
||||
EXPECT_EQ(amReadWrite, ImageFactory::checkMode(ImageType::srw, mdXmp));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::srw, mdComment));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::srw, mdIccProfile));
|
||||
}
|
||||
|
||||
TEST(TheImageFactory, getsExpectedModesForXmpImages)
|
||||
{
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::xmp, mdNone));
|
||||
EXPECT_EQ(amReadWrite, ImageFactory::checkMode(ImageType::xmp, mdExif));
|
||||
EXPECT_EQ(amReadWrite, ImageFactory::checkMode(ImageType::xmp, mdIptc));
|
||||
EXPECT_EQ(amReadWrite, ImageFactory::checkMode(ImageType::xmp, mdXmp));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::xmp, mdComment));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::xmp, mdIccProfile));
|
||||
}
|
||||
|
||||
TEST(TheImageFactory, getsExpectedModesForNoneValue)
|
||||
{
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::none, mdNone));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::none, mdExif));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::none, mdIptc));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::none, mdXmp));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::none, mdComment));
|
||||
EXPECT_EQ(amNone, ImageFactory::checkMode(ImageType::none, mdIccProfile));
|
||||
}
|
||||
|
||||
/// \todo check why JpegBase is taking ImageType in the constructor
|
||||
|
||||
Loading…
Reference in New Issue
Block a user