diff options
author | Andras Timar <andras.timar@collabora.com> | 2023-12-28 23:29:35 +0100 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2023-12-30 10:21:11 +0100 |
commit | 2af22206aca7c14e70e40ee248e9a8a361fbc88f (patch) | |
tree | 697cd9c049e0a71125023d9584a3e87f6d2d08e9 /src | |
parent | e7d32634cfeceea700f24af3176090f4501d534e (diff) |
tdf#77915 fix import of default shape fill color
Change-Id: I5f2f5fd4678774b024301aede4be50ad04a22f87
Reviewed-on: https://gerrit.libreoffice.org/c/libvisio/+/161397
Tested-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/VSDStyles.h | 4 | ||||
-rw-r--r-- | src/test/data/blue-box.vsdx | bin | 0 -> 20964 bytes | |||
-rw-r--r-- | src/test/importtest.cpp | 12 |
3 files changed, 15 insertions, 1 deletions
diff --git a/src/lib/VSDStyles.h b/src/lib/VSDStyles.h index 542b952..93eff0e 100644 --- a/src/lib/VSDStyles.h +++ b/src/lib/VSDStyles.h @@ -129,7 +129,9 @@ struct VSDOptionalFillStyle ASSIGN_OPTIONAL(style.qsFillColour, qsFillColour); ASSIGN_OPTIONAL(style.qsShadowColour, qsShadowColour); ASSIGN_OPTIONAL(style.qsFillMatrix, qsFillMatrix); - ASSIGN_OPTIONAL(style.fgColour, fgColour); + // Colour 'Blue, Variant 1' is special. It is the default, + // and it is not saved explicitely in the VSDX file. + ASSIGN_OPTIONAL(style.fgColour, fgColour);else fgColour = Colour(0x5b, 0x9b, 0xd5, 0); ASSIGN_OPTIONAL(style.bgColour, bgColour); ASSIGN_OPTIONAL(style.shadowFgColour, shadowFgColour); } diff --git a/src/test/data/blue-box.vsdx b/src/test/data/blue-box.vsdx Binary files differnew file mode 100644 index 0000000..934d037 --- /dev/null +++ b/src/test/data/blue-box.vsdx diff --git a/src/test/importtest.cpp b/src/test/importtest.cpp index 4a26b4a..5192284 100644 --- a/src/test/importtest.cpp +++ b/src/test/importtest.cpp @@ -215,6 +215,7 @@ class ImportTest : public CPPUNIT_NS::TestFixture CPPUNIT_TEST(testVsd11TextfieldsWithUnits); CPPUNIT_TEST(testBmpFileHeader); CPPUNIT_TEST(testBmpFileHeader2); + CPPUNIT_TEST(testVsdxImportDefaultFillColour); CPPUNIT_TEST_SUITE_END(); void testVsdxMetadataTitle(); @@ -232,6 +233,7 @@ class ImportTest : public CPPUNIT_NS::TestFixture void testVsd11TextfieldsWithUnits(); void testBmpFileHeader(); void testBmpFileHeader2(); + void testVsdxImportDefaultFillColour(); xmlBufferPtr m_buffer; xmlDocPtr m_doc; @@ -519,6 +521,16 @@ void ImportTest::testBmpFileHeader2() assertBmpDataOffset(m_doc, "/document/page/layer/drawGraphicObject[1]", 330); } +void ImportTest::testVsdxImportDefaultFillColour() +{ + // Without the accompanying fix in place, this test would have failed with: + // equality assertion failed + // - Expected: #5b9bd5 + // - Actual : #ffffff + m_doc = parse("blue-box.vsdx", m_buffer); + assertXPath(m_doc, "/document/page/layer[1]//setStyle[2]", "fill-color", "#5b9bd5"); +} + CPPUNIT_TEST_SUITE_REGISTRATION(ImportTest); /* vim:set shiftwidth=2 softtabstop=2 expandtab: */ |