void TagsReadWriteTest::testSimpleReadAfterWrite() { DMetadata dmeta; QStringList tagPaths2; dmeta.setItemTagsPath(this->tagSet1); dmeta.getItemTagsPath(tagPaths2); QCOMPARE(tagSet1, tagPaths2); }
void TagsReadWriteTest::testReadFromDisabledNamespaces() { DMetadata dmeta; DMetadataSettingsContainer dmsettings; QStringList actual; NamespaceEntry tagNs2; tagNs2.namespaceName = QLatin1String("Xmp.MicrosoftPhoto.LastKeywordXMP"); tagNs2.tagPaths = NamespaceEntry::TAGPATH; tagNs2.separator = QLatin1Char('/'); tagNs2.nsType = NamespaceEntry::TAGS; tagNs2.index = 1; tagNs2.specialOpts = NamespaceEntry::TAG_XMPBAG; tagNs2.subspace = NamespaceEntry::XMP; tagNs2.isDisabled = true; NamespaceEntry tagNs3; tagNs3.namespaceName = QLatin1String("Xmp.lr.hierarchicalSubject"); tagNs3.tagPaths = NamespaceEntry::TAGPATH; tagNs3.separator = QLatin1Char('|'); tagNs3.nsType = NamespaceEntry::TAGS; tagNs3.index = 2; tagNs3.specialOpts = NamespaceEntry::TAG_XMPBAG; tagNs3.subspace = NamespaceEntry::XMP; tagNs3.alternativeName = QLatin1String("Xmp.lr.HierarchicalSubject"); tagNs3.secondNameOpts = NamespaceEntry::TAG_XMPSEQ; dmsettings.getReadMapping(QString::fromUtf8(DM_TAG_CONTAINER)).clear(); dmsettings.getReadMapping(QString::fromUtf8(DM_TAG_CONTAINER)) << tagNs2 << tagNs3; dmeta.setXmpTagStringBag("Xmp.MicrosoftPhoto.LastKeywordXMP", tagSet1); dmeta.setXmpTagStringBag("Xmp.lr.hierarchicalSubject", tagSet2); dmeta.getItemTagsPath(actual, dmsettings); QCOMPARE(actual, tagSet2); }
void TagsReadWriteTest::testTagReadAlternativeNameSpace() { DMetadata dmeta; DMetadataSettingsContainer dmsettings; QStringList toWrite; QStringList actual; QStringList reference; NamespaceEntry tagNs3; tagNs3.namespaceName = QLatin1String("Xmp.lr.hierarchicalSubject"); tagNs3.tagPaths = NamespaceEntry::TAGPATH; tagNs3.separator = QLatin1Char('|'); tagNs3.nsType = NamespaceEntry::TAGS; tagNs3.index = 2; tagNs3.specialOpts = NamespaceEntry::TAG_XMPBAG; tagNs3.subspace = NamespaceEntry::XMP; tagNs3.alternativeName = QLatin1String("Xmp.lr.HierarchicalSubject"); tagNs3.secondNameOpts = NamespaceEntry::TAG_XMPSEQ; dmsettings.getReadMapping(QString::fromUtf8(DM_TAG_CONTAINER)).clear(); dmsettings.getReadMapping(QString::fromUtf8(DM_TAG_CONTAINER)) << tagNs3; toWrite = tagSet1; toWrite = toWrite.replaceInStrings(QLatin1String("/"), QLatin1String("|")); dmeta.setXmpTagStringSeq("Xmp.lr.HierarchicalSubject", toWrite); // We write some data to alternative namespace reference = dmeta.getXmpTagStringSeq("Xmp.lr.HierarchicalSubject", false); QCOMPARE(reference, toWrite); dmeta.getItemTagsPath(actual, dmsettings); QCOMPARE(actual, tagSet1); }