More tests
This commit is contained in:
parent
15e8c75a38
commit
9b40f948eb
@ -620,6 +620,7 @@ namespace Exiv2 {
|
||||
|
||||
void IptcKey::decomposeKey()
|
||||
{
|
||||
/// \todo Use regex to check the expected format. Then process the 3 expected chunks
|
||||
// Get the family name, record name and dataSet name parts of the key
|
||||
std::string::size_type pos1 = key_.find('.');
|
||||
if (pos1 == std::string::npos)
|
||||
@ -654,7 +655,7 @@ namespace Exiv2 {
|
||||
tag_ = dataSet;
|
||||
record_ = recId;
|
||||
key_ = familyName + "." + recordName + "." + dataSetName;
|
||||
} // IptcKey::decomposeKey
|
||||
}
|
||||
|
||||
void IptcKey::makeKey()
|
||||
{
|
||||
|
||||
@ -38,7 +38,79 @@ TEST(IptcKey, creationWithNonValidDatasetNameThrows)
|
||||
}
|
||||
}
|
||||
|
||||
TEST(IptcKey, creationWithNonValidFamiltyNameThrows)
|
||||
{
|
||||
try {
|
||||
IptcKey key("JOJO.Envelope.WrongDataset");
|
||||
FAIL();
|
||||
} catch (const Exiv2::Error& e) {
|
||||
ASSERT_EQ(kerInvalidKey, e.code());
|
||||
ASSERT_STREQ("Invalid key 'JOJO.Envelope.WrongDataset'", e.what());
|
||||
}
|
||||
}
|
||||
|
||||
TEST(IptcKey, creationWithValidStringDoesNotThrow)
|
||||
{
|
||||
ASSERT_NO_THROW(IptcKey ("Iptc.Envelope.ModelVersion"));
|
||||
}
|
||||
|
||||
TEST(IptcKey, copyConstructor)
|
||||
{
|
||||
IptcKey key ("Iptc.Envelope.ModelVersion");
|
||||
IptcKey keyCopy (key);
|
||||
}
|
||||
|
||||
TEST(IptcKey, clone)
|
||||
{
|
||||
IptcKey key ("Iptc.Envelope.ModelVersion");
|
||||
auto keyClone = key.clone();
|
||||
ASSERT_EQ("Iptc.Envelope.ModelVersion", keyClone->key());
|
||||
}
|
||||
|
||||
TEST(IptcKey, keyReturnsTheFullString)
|
||||
{
|
||||
IptcKey key ("Iptc.Envelope.ModelVersion");
|
||||
ASSERT_EQ("Iptc.Envelope.ModelVersion", key.key());
|
||||
}
|
||||
|
||||
TEST(IptcKey, familyNameReturnsTheFullString)
|
||||
{
|
||||
IptcKey key ("Iptc.Envelope.ModelVersion");
|
||||
ASSERT_STREQ("Iptc", key.familyName());
|
||||
}
|
||||
|
||||
TEST(IptcKey, groupNameReturnsTheRecordName)
|
||||
{
|
||||
IptcKey key ("Iptc.Envelope.ModelVersion");
|
||||
ASSERT_EQ("Envelope", key.groupName());
|
||||
}
|
||||
|
||||
TEST(IptcKey, recordNameReturnsTheRecordName)
|
||||
{
|
||||
IptcKey key ("Iptc.Envelope.ModelVersion");
|
||||
ASSERT_EQ("Envelope", key.recordName());
|
||||
}
|
||||
|
||||
TEST(IptcKey, tagNameReturnsTheDatasetName)
|
||||
{
|
||||
IptcKey key ("Iptc.Envelope.ModelVersion");
|
||||
ASSERT_EQ("ModelVersion", key.tagName());
|
||||
}
|
||||
|
||||
TEST(IptcKey, tagLabelReturnsTheDatasetTitle)
|
||||
{
|
||||
IptcKey key ("Iptc.Envelope.ModelVersion");
|
||||
ASSERT_EQ("Model Version", key.tagLabel());
|
||||
}
|
||||
|
||||
TEST(IptcKey, tag)
|
||||
{
|
||||
IptcKey key ("Iptc.Envelope.ModelVersion");
|
||||
ASSERT_EQ(IptcDataSets::ModelVersion, key.tag());
|
||||
}
|
||||
|
||||
TEST(IptcKey, record)
|
||||
{
|
||||
IptcKey key ("Iptc.Envelope.ModelVersion");
|
||||
ASSERT_EQ(IptcDataSets::envelope, key.record());
|
||||
}
|
||||
|
||||
@ -147,7 +147,7 @@ TEST(IptcDataSets, dataSet_throwWithNonExistingDatasetName)
|
||||
FAIL();
|
||||
} catch (const Exiv2::Error& e) {
|
||||
ASSERT_EQ(kerInvalidDataset, e.code());
|
||||
ASSERT_STREQ("Invalid dataset name `NonExistingName'", e.what());
|
||||
ASSERT_STREQ("Invalid dataset name 'NonExistingName'", e.what());
|
||||
}
|
||||
}
|
||||
|
||||
@ -159,7 +159,7 @@ TEST(IptcDataSets, dataSet_throwWithNonExistingRecordId)
|
||||
FAIL();
|
||||
} catch (const Exiv2::Error& e) {
|
||||
ASSERT_EQ(kerInvalidDataset, e.code());
|
||||
ASSERT_STREQ("Invalid dataset name `ModelVersion'", e.what());
|
||||
ASSERT_STREQ("Invalid dataset name 'ModelVersion'", e.what());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user