[Libreoffice-commits] libvisio.git: 2 commits - src/lib src/test
src/lib/VSDContentCollector.cpp | 47 --- src/lib/libvisio_utils.h |2 + src/test/Makefile.am |2 + src/test/data/bitmaps.vsd|binary src/test/data/bitmaps2.vsd |binary src/test/importtest.cpp | 51 +++ src/test/xmldrawinggenerator.cpp |1 7 files changed, 99 insertions(+), 4 deletions(-) New commits: commit da0d4a764f0e5862a2ed930b27b9c440ec397b90 Author: David TardonDate: Mon Dec 12 19:59:22 2016 +0100 add test for correct bmp output Change-Id: I7443f4408c3733542020aeab3a888baf48a231d1 diff --git a/src/test/Makefile.am b/src/test/Makefile.am index 54fbf78..7791453 100644 --- a/src/test/Makefile.am +++ b/src/test/Makefile.am @@ -21,6 +21,8 @@ test_SOURCES = \ EXTRA_DIST = \ data/bgcolor.vsdx \ +data/bitmaps.vsd \ +data/bitmaps2.vsd \ data/color-boxes.vsdx \ data/fdo86664.vsdx \ data/fdo86729-ms1252.vsd \ diff --git a/src/test/data/bitmaps.vsd b/src/test/data/bitmaps.vsd new file mode 100644 index 000..8b14f2e Binary files /dev/null and b/src/test/data/bitmaps.vsd differ diff --git a/src/test/data/bitmaps2.vsd b/src/test/data/bitmaps2.vsd new file mode 100644 index 000..810d30e Binary files /dev/null and b/src/test/data/bitmaps2.vsd differ diff --git a/src/test/importtest.cpp b/src/test/importtest.cpp index 1cbfc9d..418551f 100644 --- a/src/test/importtest.cpp +++ b/src/test/importtest.cpp @@ -94,6 +94,21 @@ void assertXPathNoAttribute(xmlDocPtr doc, const librevenge::RVNGString , xmlXPathFreeObject(xpathobject); } +void assertBmpDataOffset(xmlDocPtr doc, const librevenge::RVNGString , const unsigned expectedValue) +{ + const librevenge::RVNGBinaryData bitmap(getXPath(doc, xpath, "binary-data")); + librevenge::RVNGString message("BMP at '"); + message.append(xpath); + message.append("': wrong data offset."); + librevenge::RVNGInputStream *const input = bitmap.getDataStream(); + CPPUNIT_ASSERT(input); + CPPUNIT_ASSERT_EQUAL(0, input->seek(10, librevenge::RVNG_SEEK_SET)); + unsigned long numBytesRead = 0; + const unsigned char *const bytes = input->read(4, numBytesRead); + CPPUNIT_ASSERT_EQUAL(4ul, numBytesRead); + const unsigned actualValue = bytes[0] | (bytes[1] << 8) | (bytes[2] << 16) | (bytes[3] << 24); + CPPUNIT_ASSERT_EQUAL_MESSAGE(message.cstr(), expectedValue, actualValue); +} #if 0 // keep for future use /// Same as the assertXPathContent(), but don't assert: return the string instead. @@ -164,6 +179,8 @@ class ImportTest : public CPPUNIT_NS::TestFixture CPPUNIT_TEST(testVsdxCharBgColor); #endif CPPUNIT_TEST(testVsdTextBlockWithoutBgColor); + CPPUNIT_TEST(testBmpFileHeader); + CPPUNIT_TEST(testBmpFileHeader2); CPPUNIT_TEST_SUITE_END(); void testVsdxMetadataTitle(); @@ -174,6 +191,8 @@ class ImportTest : public CPPUNIT_NS::TestFixture void testVsdxImportBgColorFromTheme(); void testVsdxCharBgColor(); void testVsdTextBlockWithoutBgColor(); + void testBmpFileHeader(); + void testBmpFileHeader2(); xmlBufferPtr m_buffer; xmlDocPtr m_doc; @@ -294,6 +313,38 @@ void ImportTest::testVsdTextBlockWithoutBgColor() assertXPathNoAttribute(m_doc, "/document/page/layer[5]/textObject/paragraph[1]/span", "background-color"); } +void ImportTest::testBmpFileHeader() +{ + m_doc = parse("bitmaps.vsd", m_buffer); + assertBmpDataOffset(m_doc, "/document/page/drawGraphicObject[1]", 62); + assertBmpDataOffset(m_doc, "/document/page/drawGraphicObject[2]", 62); + assertBmpDataOffset(m_doc, "/document/page/drawGraphicObject[3]", 62); + assertBmpDataOffset(m_doc, "/document/page/drawGraphicObject[4]", 118); + assertBmpDataOffset(m_doc, "/document/page/drawGraphicObject[5]", 118); + assertBmpDataOffset(m_doc, "/document/page/drawGraphicObject[6]", 54); + assertBmpDataOffset(m_doc, "/document/page/drawGraphicObject[7]", 1078); + assertBmpDataOffset(m_doc, "/document/page/drawGraphicObject[8]", 1078); + assertBmpDataOffset(m_doc, "/document/page/drawGraphicObject[9]", 1078); + assertBmpDataOffset(m_doc, "/document/page/drawGraphicObject[10]", 54); + assertBmpDataOffset(m_doc, "/document/page/drawGraphicObject[11]", 1078); + assertBmpDataOffset(m_doc, "/document/page/drawGraphicObject[12]", 1078); + assertBmpDataOffset(m_doc, "/document/page/drawGraphicObject[13]", 1078); + assertBmpDataOffset(m_doc, "/document/page/drawGraphicObject[14]", 54); + assertBmpDataOffset(m_doc, "/document/page/drawGraphicObject[15]", 54); + assertBmpDataOffset(m_doc, "/document/page/drawGraphicObject[16]", 54); + assertBmpDataOffset(m_doc, "/document/page/drawGraphicObject[17]", 54); + assertBmpDataOffset(m_doc, "/document/page/drawGraphicObject[18]", 54); + assertBmpDataOffset(m_doc, "/document/page/drawGraphicObject[19]", 54); + assertBmpDataOffset(m_doc, "/document/page/drawGraphicObject[20]", 54); +} +
[Libreoffice-commits] libvisio.git: 2 commits - src/lib src/test
src/lib/VSDParser.cpp|3 ++- src/test/Makefile.am |1 + src/test/data/no-bgcolor.vsd |binary src/test/importtest.cpp |8 4 files changed, 11 insertions(+), 1 deletion(-) New commits: commit 079034b8aa1d4b7bd07a81ef46059cdb6b2f4b38 Author: David TardonDate: Tue Nov 29 15:22:53 2016 +0100 add test for text block with no bg color Change-Id: Ic6177cbea568c80d93774a95a3704077db42f62f diff --git a/src/test/Makefile.am b/src/test/Makefile.am index 48ffaa4..54fbf78 100644 --- a/src/test/Makefile.am +++ b/src/test/Makefile.am @@ -27,6 +27,7 @@ EXTRA_DIST = \ data/fdo86729-utf8.vsd \ data/dwg.vsd \ data/dwg.vsdx \ +data/no-bgcolor.vsd \ $(test_SOURCES) # ImportTest::testVsdMetadataTitleUtf8 checks formatted date string diff --git a/src/test/data/no-bgcolor.vsd b/src/test/data/no-bgcolor.vsd new file mode 100644 index 000..1bc9c6c Binary files /dev/null and b/src/test/data/no-bgcolor.vsd differ diff --git a/src/test/importtest.cpp b/src/test/importtest.cpp index 32fb185..1cbfc9d 100644 --- a/src/test/importtest.cpp +++ b/src/test/importtest.cpp @@ -163,6 +163,7 @@ class ImportTest : public CPPUNIT_NS::TestFixture #if LIBXML_VERSION >= 20902 CPPUNIT_TEST(testVsdxCharBgColor); #endif + CPPUNIT_TEST(testVsdTextBlockWithoutBgColor); CPPUNIT_TEST_SUITE_END(); void testVsdxMetadataTitle(); @@ -172,6 +173,7 @@ class ImportTest : public CPPUNIT_NS::TestFixture void testVsdxUserDefinedMetadata(); void testVsdxImportBgColorFromTheme(); void testVsdxCharBgColor(); + void testVsdTextBlockWithoutBgColor(); xmlBufferPtr m_buffer; xmlDocPtr m_doc; @@ -286,6 +288,12 @@ void ImportTest::testVsdxCharBgColor() assertXPath(m_doc, "/document/page/layer[3]/textObject/paragraph[2]/span", "background-color", "#9dbb61"); } +void ImportTest::testVsdTextBlockWithoutBgColor() +{ + m_doc = parse("no-bgcolor.vsd", m_buffer); + assertXPathNoAttribute(m_doc, "/document/page/layer[5]/textObject/paragraph[1]/span", "background-color"); +} + CPPUNIT_TEST_SUITE_REGISTRATION(ImportTest); /* vim:set shiftwidth=2 softtabstop=2 expandtab: */ commit a3cf2c6d02c29e0a69794ead64dd932fa9e3f24b Author: David Tardon Date: Tue Nov 29 15:05:20 2016 +0100 fix parsing of text block bg color in some cases It appears that if the color index is 0xff, no color should be set. Change-Id: I0dcea16ed5d61292d84e82904b863c1ccafd9d7a diff --git a/src/lib/VSDParser.cpp b/src/lib/VSDParser.cpp index 26b1d9c..680e14b 100644 --- a/src/lib/VSDParser.cpp +++ b/src/lib/VSDParser.cpp @@ -877,7 +877,8 @@ void libvisio::VSDParser::readTextBlock(librevenge::RVNGInputStream *input) input->seek(1, librevenge::RVNG_SEEK_CUR); double bottomMargin = readDouble(input); unsigned char verticalAlign = readU8(input); - bool isBgFilled = (!!readU8(input)); + const unsigned char bgColourIdx = readU8(input); + const bool isBgFilled = bgColourIdx != 0 && bgColourIdx != 0xff; Colour c; c.r = readU8(input); c.g = readU8(input); ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] libvisio.git: 2 commits - src/lib src/test
src/lib/VSD5Parser.cpp | 16 src/test/importtest.cpp |2 +- 2 files changed, 13 insertions(+), 5 deletions(-) New commits: commit 77a88f128700e434c093eb53590be63022edbdea Author: David Tardon dtar...@redhat.com Date: Tue Jul 21 17:35:13 2015 +0200 avoid overflows when reading chunk records Change-Id: Iea13e63e977348a449b68eca329146ae6f097197 diff --git a/src/lib/VSD5Parser.cpp b/src/lib/VSD5Parser.cpp index 00cbf06..79b638b 100644 --- a/src/lib/VSD5Parser.cpp +++ b/src/lib/VSD5Parser.cpp @@ -102,7 +102,12 @@ void libvisio::VSD5Parser::handleChunkRecords(librevenge::RVNGInputStream *input long endPosition = input-tell() + m_header.dataLength; input-seek(endPosition - 4, librevenge::RVNG_SEEK_SET); unsigned numRecords = readU16(input); + const long headerPosition = endPosition - 4 * (numRecords + 1); + if (headerPosition = startPosition) // no records to read +return; unsigned endOffset = readU16(input); + if (long(endOffset) (headerPosition - startPosition)) +endOffset = unsigned(headerPosition - startPosition); // try to read something anyway std::mapunsigned, ChunkHeader records; input-seek(endPosition-4*(numRecords+1), librevenge::RVNG_SEEK_SET); unsigned i = 0; @@ -114,10 +119,13 @@ void libvisio::VSD5Parser::handleChunkRecords(librevenge::RVNGInputStream *input unsigned tmpStart = offset; while (tmpStart % 4) tmpStart++; -header.dataLength = endOffset - tmpStart; -header.level = m_header.level + 1; -records[tmpStart] = header; -endOffset = offset; +if (tmpStart endOffset) +{ + header.dataLength = endOffset - tmpStart; + header.level = m_header.level + 1; + records[tmpStart] = header; + endOffset = offset; +} } i = 0; for (std::mapunsigned, ChunkHeader::iterator iter = records.begin(); iter != records.end(); ++iter) commit 2bdd7a9bfd1ed1606b7348602196f0a2baf0c099 Author: David Tardon dtar...@redhat.com Date: Tue Jul 21 17:35:19 2015 +0200 astyle Change-Id: I51eebdceb176ae9ded9860010a6b691d0af4cf95 diff --git a/src/test/importtest.cpp b/src/test/importtest.cpp index 705a8c7..c09bfd8 100644 --- a/src/test/importtest.cpp +++ b/src/test/importtest.cpp @@ -85,7 +85,7 @@ void assertXPathNoAttribute(xmlDocPtr doc, const librevenge::RVNGString xpath, message2.append(' unexpected '); message2.append(attribute); message2.append(' attribute); - CPPUNIT_ASSERT_EQUAL_MESSAGE(message2.cstr(), static_castxmlChar*(0), xmlGetProp(node, BAD_CAST(attribute.cstr(; + CPPUNIT_ASSERT_EQUAL_MESSAGE(message2.cstr(), static_castxmlChar *(0), xmlGetProp(node, BAD_CAST(attribute.cstr(; xmlXPathFreeObject(xpathobject); } ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] libvisio.git: 2 commits - src/lib src/test
src/lib/VSDXTheme.cpp |7 +++ src/test/data/color-boxes.vsdx |binary src/test/importtest.cpp| 14 ++ 3 files changed, 21 insertions(+) New commits: commit fb715bb8a9154731e1629289cc6d43d7473dc460 Author: Andras Timar andras.ti...@collabora.com Date: Mon Jun 29 14:58:44 2015 +0200 unit test of VSDX theme color import fix Change-Id: I8b1466b83801e61c2d0c1b1a588f9d3867a063d1 diff --git a/src/test/data/color-boxes.vsdx b/src/test/data/color-boxes.vsdx new file mode 100644 index 000..ef8f6a1 Binary files /dev/null and b/src/test/data/color-boxes.vsdx differ diff --git a/src/test/importtest.cpp b/src/test/importtest.cpp index 7aba7bc..f7b8972 100644 --- a/src/test/importtest.cpp +++ b/src/test/importtest.cpp @@ -126,6 +126,7 @@ class ImportTest : public CPPUNIT_NS::TestFixture CPPUNIT_TEST(testVsdMetadataTitleUtf8); CPPUNIT_TEST(testVsdUserDefinedMetadata); CPPUNIT_TEST(testVsdxUserDefinedMetadata); + CPPUNIT_TEST(testVsdxImportBgColorFromTheme); CPPUNIT_TEST_SUITE_END(); void testVsdxMetadataTitle(); @@ -133,6 +134,7 @@ class ImportTest : public CPPUNIT_NS::TestFixture void testVsdMetadataTitleUtf8(); void testVsdUserDefinedMetadata(); void testVsdxUserDefinedMetadata(); + void testVsdxImportBgColorFromTheme(); xmlBufferPtr m_buffer; xmlDocPtr m_doc; @@ -224,6 +226,18 @@ void ImportTest::testVsdxUserDefinedMetadata() assertXPath(m_doc, /document/setDocumentMetaData, template, BASICD_M.VSTX); } +void ImportTest::testVsdxImportBgColorFromTheme() +{ + m_doc = parse(color-boxes.vsdx, m_buffer); + assertXPath(m_doc, /document/page/layer[1]//setStyle[2], fill-color, #759fcc); + assertXPath(m_doc, /document/page/layer[2]//setStyle[2], fill-color, #70ad47); + assertXPath(m_doc, /document/page/layer[3]//setStyle[2], fill-color, #fec000); + assertXPath(m_doc, /document/page/layer[4]//setStyle[2], fill-color, #41719c); + assertXPath(m_doc, /document/page/layer[5]//setStyle[2], fill-color, #ed7d31); + assertXPath(m_doc, /document/page/layer[6]//setStyle[2], fill-color, #bdd0e9); + assertXPath(m_doc, /document/page/layer[7]//setStyle[2], fill-color, #5b9bd5); +} + CPPUNIT_TEST_SUITE_REGISTRATION(ImportTest); /* vim:set shiftwidth=2 softtabstop=2 expandtab: */ commit 5dc37c653ccb25f0353c2665899b1a0d94553745 Author: Andras Timar andras.ti...@collabora.com Date: Mon Jun 29 13:22:08 2015 +0200 tdf#92270 VSDX theme color import fix Change-Id: I4843762646c204d5c898d0f0dea503196a1e414a diff --git a/src/lib/VSDXTheme.cpp b/src/lib/VSDXTheme.cpp index 3def5fb..85cf0ac 100644 --- a/src/lib/VSDXTheme.cpp +++ b/src/lib/VSDXTheme.cpp @@ -341,18 +341,25 @@ boost::optionallibvisio::Colour libvisio::VSDXTheme::getThemeColour(unsigned v switch (value) { case 100: +case 200: return m_clrScheme.m_variationClrSchemeLst[variationIndex].m_varColor1; case 101: +case 201: return m_clrScheme.m_variationClrSchemeLst[variationIndex].m_varColor2; case 102: +case 202: return m_clrScheme.m_variationClrSchemeLst[variationIndex].m_varColor3; case 103: +case 203: return m_clrScheme.m_variationClrSchemeLst[variationIndex].m_varColor4; case 104: +case 204: return m_clrScheme.m_variationClrSchemeLst[variationIndex].m_varColor5; case 105: +case 205: return m_clrScheme.m_variationClrSchemeLst[variationIndex].m_varColor6; case 106: +case 206: return m_clrScheme.m_variationClrSchemeLst[variationIndex].m_varColor7; default: break; ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] libvisio.git: 2 commits - src/lib src/test
src/lib/VSDMetaData.cpp |1 + src/lib/VSDXMetaData.cpp |2 ++ src/lib/tokens.txt |1 + src/test/importtest.cpp |3 +++ 4 files changed, 7 insertions(+) New commits: commit 86ad7206b1d617817ac8699db740b613f3ed19a2 Author: Miklos Vajna vmik...@collabora.co.uk Date: Tue Dec 30 22:18:33 2014 +0100 VSD: Visio doesn't write separate author and last modifier fields So author always equals to the last modifier. This is consistent with how the single timestamp is imported both as a creation and modification time, too. Change-Id: I65233316f412166dfd82c720c830cf625e1275b5 diff --git a/src/lib/VSDMetaData.cpp b/src/lib/VSDMetaData.cpp index 0288392..d1db01e 100644 --- a/src/lib/VSDMetaData.cpp +++ b/src/lib/VSDMetaData.cpp @@ -129,6 +129,7 @@ void libvisio::VSDMetaData::readTypedPropertyValue(librevenge::RVNGInputStream * break; case PIDSI_AUTHOR: m_metaData.insert(meta:initial-creator, string); +m_metaData.insert(dc:creator, string); break; case PIDSI_KEYWORDS: m_metaData.insert(meta:keyword, string); diff --git a/src/test/importtest.cpp b/src/test/importtest.cpp index a69bcef..85a7175 100644 --- a/src/test/importtest.cpp +++ b/src/test/importtest.cpp @@ -158,6 +158,8 @@ void ImportTest::testVsdMetadataTitleMs1252() assertXPath(m_doc, /document/setDocumentMetaData, subject, mysubject); assertXPath(m_doc, /document/setDocumentMetaData, initial-creator, vmiklos creator); + // There is only one author/last-modifier field in the file, so make sure creator is the same as initial-creator. + assertXPath(m_doc, /document/setDocumentMetaData, creator, vmiklos creator); assertXPath(m_doc, /document/setDocumentMetaData, keyword, mytag); assertXPath(m_doc, /document/setDocumentMetaData, description, mycomment); } commit 9cbe861b8f5e53a0aa83b863b1bf42224139dcfc Author: Miklos Vajna vmik...@collabora.co.uk Date: Tue Dec 30 22:15:29 2014 +0100 VSDX: import lastModifiedBy Change-Id: I5136c53cbca0b3dc1300e49bf82f290d8ff86ed8 diff --git a/src/lib/VSDXMetaData.cpp b/src/lib/VSDXMetaData.cpp index 7a0ff83..fd38811 100644 --- a/src/lib/VSDXMetaData.cpp +++ b/src/lib/VSDXMetaData.cpp @@ -77,6 +77,8 @@ void libvisio::VSDXMetaData::readCoreProperties(xmlTextReaderPtr reader) m_metaData.insert(meta:keyword, readString(reader, XML_CP_KEYWORDS)); case XML_DC_DESCRIPTION: m_metaData.insert(dc:description, readString(reader, XML_DC_DESCRIPTION)); +case XML_CP_LASTMODIFIEDBY: + m_metaData.insert(dc:creator, readString(reader, XML_CP_LASTMODIFIEDBY)); default: break; } diff --git a/src/lib/tokens.txt b/src/lib/tokens.txt index 617fb1a..2d0022b 100644 --- a/src/lib/tokens.txt +++ b/src/lib/tokens.txt @@ -234,3 +234,4 @@ dc:title dcterms:created dcterms:modified dc:description +cp:lastModifiedBy diff --git a/src/test/importtest.cpp b/src/test/importtest.cpp index bb3388e..a69bcef 100644 --- a/src/test/importtest.cpp +++ b/src/test/importtest.cpp @@ -147,6 +147,7 @@ void ImportTest::testVsdxMetadataTitle() assertXPath(m_doc, /document/setDocumentMetaData, date, 2014-11-24T10:41:22Z); assertXPath(m_doc, /document/setDocumentMetaData, keyword, mytag); assertXPath(m_doc, /document/setDocumentMetaData, description, mycomment); + assertXPath(m_doc, /document/setDocumentMetaData, creator, vmiklos modifier); } void ImportTest::testVsdMetadataTitleMs1252() ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] libvisio.git: 2 commits - src/lib src/test
src/lib/VSDMetaData.cpp |4 src/lib/VSDXMetaData.cpp | 22 ++ src/test/importtest.cpp |1 + 3 files changed, 15 insertions(+), 12 deletions(-) New commits: commit 443227148dcbf4314369e1941e910f3b64290315 Author: Miklos Vajna vmik...@collabora.co.uk Date: Sun Dec 28 11:51:43 2014 +0100 VSDXMetaData: check token type at a single place Change-Id: I0318d619a71b0785e2752a363a68f4db0b3acc0e diff --git a/src/lib/VSDXMetaData.cpp b/src/lib/VSDXMetaData.cpp index 72435bb..1ce1dcd 100644 --- a/src/lib/VSDXMetaData.cpp +++ b/src/lib/VSDXMetaData.cpp @@ -52,31 +52,29 @@ void libvisio::VSDXMetaData::readCoreProperties(xmlTextReaderPtr reader) VSD_DEBUG_MSG((VSDXMetaData::readCoreProperties: unknown token %s\n, xmlTextReaderConstName(reader))); } tokenType = xmlTextReaderNodeType(reader); + +if (tokenType != XML_READER_TYPE_ELEMENT) + continue; + switch (tokenId) { case XML_DC_TITLE: - if (tokenType == XML_READER_TYPE_ELEMENT) -m_metaData.insert(dc:title, readString(reader, XML_DC_TITLE)); + m_metaData.insert(dc:title, readString(reader, XML_DC_TITLE)); break; case XML_DC_SUBJECT: - if (tokenType == XML_READER_TYPE_ELEMENT) -m_metaData.insert(dc:subject, readString(reader, XML_DC_SUBJECT)); + m_metaData.insert(dc:subject, readString(reader, XML_DC_SUBJECT)); break; case XML_DC_CREATOR: - if (tokenType == XML_READER_TYPE_ELEMENT) -m_metaData.insert(meta:initial-creator, readString(reader, XML_DC_CREATOR)); + m_metaData.insert(meta:initial-creator, readString(reader, XML_DC_CREATOR)); break; case XML_DCTERMS_CREATED: - if (tokenType == XML_READER_TYPE_ELEMENT) -m_metaData.insert(meta:creation-date, readString(reader, XML_DCTERMS_CREATED)); + m_metaData.insert(meta:creation-date, readString(reader, XML_DCTERMS_CREATED)); break; case XML_DCTERMS_MODIFIED: - if (tokenType == XML_READER_TYPE_ELEMENT) -m_metaData.insert(dc:date, readString(reader, XML_DCTERMS_MODIFIED)); + m_metaData.insert(dc:date, readString(reader, XML_DCTERMS_MODIFIED)); break; case XML_CP_KEYWORDS: - if (tokenType == XML_READER_TYPE_ELEMENT) -m_metaData.insert(meta:keyword, readString(reader, XML_CP_KEYWORDS)); + m_metaData.insert(meta:keyword, readString(reader, XML_CP_KEYWORDS)); default: break; } commit 70e2cbc27a37d84c10e60438ed143a0cd391c796 Author: Miklos Vajna vmik...@collabora.co.uk Date: Sun Dec 28 11:51:38 2014 +0100 VSD: import keywords Change-Id: I1896afdcbec2cb3177f053558b2a6668529bd85e diff --git a/src/lib/VSDMetaData.cpp b/src/lib/VSDMetaData.cpp index f1026fc..44e6f62 100644 --- a/src/lib/VSDMetaData.cpp +++ b/src/lib/VSDMetaData.cpp @@ -96,6 +96,7 @@ void libvisio::VSDMetaData::readPropertyIdentifierAndOffset(librevenge::RVNGInpu #define PIDSI_TITLE 0x0002 #define PIDSI_SUBJECT 0x0003 #define PIDSI_AUTHOR 0x0004 +#define PIDSI_KEYWORDS 0x0005 void libvisio::VSDMetaData::readTypedPropertyValue(librevenge::RVNGInputStream *input, uint32_t index, uint32_t offset) { @@ -128,6 +129,9 @@ void libvisio::VSDMetaData::readTypedPropertyValue(librevenge::RVNGInputStream * case PIDSI_AUTHOR: m_metaData.insert(meta:initial-creator, string); break; + case PIDSI_KEYWORDS: +m_metaData.insert(meta:keyword, string); +break; } } } diff --git a/src/test/importtest.cpp b/src/test/importtest.cpp index 274a36f..7aa8336 100644 --- a/src/test/importtest.cpp +++ b/src/test/importtest.cpp @@ -156,6 +156,7 @@ void ImportTest::testVsdMetadataTitleMs1252() assertXPath(m_doc, /document/setDocumentMetaData, subject, mysubject); assertXPath(m_doc, /document/setDocumentMetaData, initial-creator, vmiklos creator); + assertXPath(m_doc, /document/setDocumentMetaData, keyword, mytag); } void ImportTest::testVsdMetadataTitleUtf8() ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] libvisio.git: 2 commits - src/lib src/test
src/lib/VSDMetaData.cpp |4 src/lib/VSDXMetaData.cpp |2 ++ src/lib/tokens.txt |1 + src/test/importtest.cpp |2 ++ 4 files changed, 9 insertions(+) New commits: commit d4684217ee9dd48e3352430e6d869824642f4082 Author: Miklos Vajna vmik...@collabora.co.uk Date: Sun Dec 28 14:13:39 2014 +0100 VSD: import description Change-Id: I33b47f4ee903f9f4d07383df0552284de7401d7b diff --git a/src/lib/VSDMetaData.cpp b/src/lib/VSDMetaData.cpp index 44e6f62..0288392 100644 --- a/src/lib/VSDMetaData.cpp +++ b/src/lib/VSDMetaData.cpp @@ -97,6 +97,7 @@ void libvisio::VSDMetaData::readPropertyIdentifierAndOffset(librevenge::RVNGInpu #define PIDSI_SUBJECT 0x0003 #define PIDSI_AUTHOR 0x0004 #define PIDSI_KEYWORDS 0x0005 +#define PIDSI_COMMENTS 0x0006 void libvisio::VSDMetaData::readTypedPropertyValue(librevenge::RVNGInputStream *input, uint32_t index, uint32_t offset) { @@ -132,6 +133,9 @@ void libvisio::VSDMetaData::readTypedPropertyValue(librevenge::RVNGInputStream * case PIDSI_KEYWORDS: m_metaData.insert(meta:keyword, string); break; + case PIDSI_COMMENTS: +m_metaData.insert(dc:description, string); +break; } } } diff --git a/src/test/importtest.cpp b/src/test/importtest.cpp index 41f2b0c..bb3388e 100644 --- a/src/test/importtest.cpp +++ b/src/test/importtest.cpp @@ -158,6 +158,7 @@ void ImportTest::testVsdMetadataTitleMs1252() assertXPath(m_doc, /document/setDocumentMetaData, subject, mysubject); assertXPath(m_doc, /document/setDocumentMetaData, initial-creator, vmiklos creator); assertXPath(m_doc, /document/setDocumentMetaData, keyword, mytag); + assertXPath(m_doc, /document/setDocumentMetaData, description, mycomment); } void ImportTest::testVsdMetadataTitleUtf8() commit db443edcc59a9d48395e25f04a4c380d15877e4e Author: Miklos Vajna vmik...@collabora.co.uk Date: Sun Dec 28 14:10:03 2014 +0100 VSDX: import description Change-Id: I5e9e6fd793bb44c954e8255e70952badfb442d57 diff --git a/src/lib/VSDXMetaData.cpp b/src/lib/VSDXMetaData.cpp index 1ce1dcd..7a0ff83 100644 --- a/src/lib/VSDXMetaData.cpp +++ b/src/lib/VSDXMetaData.cpp @@ -75,6 +75,8 @@ void libvisio::VSDXMetaData::readCoreProperties(xmlTextReaderPtr reader) break; case XML_CP_KEYWORDS: m_metaData.insert(meta:keyword, readString(reader, XML_CP_KEYWORDS)); +case XML_DC_DESCRIPTION: + m_metaData.insert(dc:description, readString(reader, XML_DC_DESCRIPTION)); default: break; } diff --git a/src/lib/tokens.txt b/src/lib/tokens.txt index d4ad31d..617fb1a 100644 --- a/src/lib/tokens.txt +++ b/src/lib/tokens.txt @@ -233,3 +233,4 @@ dc:subject dc:title dcterms:created dcterms:modified +dc:description diff --git a/src/test/importtest.cpp b/src/test/importtest.cpp index 7aa8336..41f2b0c 100644 --- a/src/test/importtest.cpp +++ b/src/test/importtest.cpp @@ -146,6 +146,7 @@ void ImportTest::testVsdxMetadataTitle() assertXPath(m_doc, /document/setDocumentMetaData, creation-date, 2014-11-24T10:35:17Z); assertXPath(m_doc, /document/setDocumentMetaData, date, 2014-11-24T10:41:22Z); assertXPath(m_doc, /document/setDocumentMetaData, keyword, mytag); + assertXPath(m_doc, /document/setDocumentMetaData, description, mycomment); } void ImportTest::testVsdMetadataTitleMs1252() ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits