void TagsReadWriteTest::testTagSeparatorWrite() { DMetadata dmeta; DMetadataSettingsContainer dmsettings; QStringList readResult; QStringList expected; 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.getWriteMapping(QString::fromUtf8(DM_TAG_CONTAINER)).clear(); dmsettings.getWriteMapping(QString::fromUtf8(DM_TAG_CONTAINER)) << tagNs3; dmeta.setItemTagsPath(tagSet1, dmsettings); readResult = dmeta.getXmpTagStringBag("Xmp.lr.hierarchicalSubject", false); expected = tagSet1; expected = expected.replaceInStrings(QLatin1String("/"), QLatin1String("|")); QCOMPARE(readResult, expected); }
void TagsReadWriteTest::testWriteToDisabledNamespaces() { DMetadata dmeta; DMetadataSettingsContainer dmsettings; QStringList empty; QStringList secondNamespace; 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.getWriteMapping(QString::fromUtf8(DM_TAG_CONTAINER)).clear(); dmsettings.getWriteMapping(QString::fromUtf8(DM_TAG_CONTAINER)) << tagNs2 << tagNs3; dmeta.setItemTagsPath(tagSet1, dmsettings); empty = dmeta.getXmpTagStringBag("Xmp.MicrosoftPhoto.LastKeywordXMP", false); QCOMPARE(empty, QStringList()); secondNamespace = dmeta.getXmpTagStringBag("Xmp.lr.hierarchicalSubject", false); secondNamespace = secondNamespace.replaceInStrings(QLatin1String("|"), QLatin1String("/")); QCOMPARE(secondNamespace, tagSet1); }
void TagsReadWriteTest::testTagSeparatorRead() { 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.setXmpTagStringBag("Xmp.lr.hierarchicalSubject", toWrite); reference = dmeta.getXmpTagStringBag("Xmp.lr.hierarchicalSubject", false); QCOMPARE(reference, toWrite); dmeta.getItemTagsPath(actual, dmsettings); QCOMPARE(actual, tagSet1); }