From 8b9643960117612b7e1cae1ed8325c2630232d0f Mon Sep 17 00:00:00 2001 From: Xisco Fauli Date: Thu, 17 Aug 2023 09:24:18 +0200 Subject: tdf#142424: Revert "related tdf#156579: just break for switch element" This reverts commit e222f60ac2a71032dbdf62d7c7e28978b5a0b19c. To make the switch element behave like a group as least, so the transform attribute is parsed Change-Id: Id8c21ac6da217d8f7bc350ff41022335bf1e0f1f Change-Id: If1e53f9baad8995f26f9b885cfef6265040736bc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155758 Tested-by: Jenkins Reviewed-by: Xisco Fauli --- svgio/qa/cppunit/SvgImportTest.cxx | 21 +++++++++++++++++++++ svgio/qa/cppunit/data/tdf117920.svg | 7 +++++++ svgio/source/svgreader/svgdocumenthandler.cxx | 7 +------ 3 files changed, 29 insertions(+), 6 deletions(-) create mode 100644 svgio/qa/cppunit/data/tdf117920.svg (limited to 'svgio') diff --git a/svgio/qa/cppunit/SvgImportTest.cxx b/svgio/qa/cppunit/SvgImportTest.cxx index 31e5bdb3ef13..2297367ee778 100644 --- a/svgio/qa/cppunit/SvgImportTest.cxx +++ b/svgio/qa/cppunit/SvgImportTest.cxx @@ -991,6 +991,27 @@ CPPUNIT_TEST_FIXTURE(Test, testNoneColor) assertXPath(pDocument, "/primitive2D/transform/mask/polypolygonstroke/line", "width", "3"); } +CPPUNIT_TEST_FIXTURE(Test, testTdf117920) +{ + Primitive2DSequence aSequence = parseSvg(u"/svgio/qa/cppunit/data/tdf117920.svg"); + CPPUNIT_ASSERT_EQUAL(1, static_cast(aSequence.getLength())); + + drawinglayer::Primitive2dXmlDump dumper; + xmlDocUniquePtr pDocument = dumper.dumpAndParse(Primitive2DContainer(aSequence)); + + CPPUNIT_ASSERT (pDocument); + + assertXPath(pDocument, "/primitive2D/transform/transform", "xy11", "1"); + assertXPath(pDocument, "/primitive2D/transform/transform", "xy12", "0"); + assertXPath(pDocument, "/primitive2D/transform/transform", "xy13", "-18"); + assertXPath(pDocument, "/primitive2D/transform/transform", "xy21", "0"); + assertXPath(pDocument, "/primitive2D/transform/transform", "xy22", "1"); + assertXPath(pDocument, "/primitive2D/transform/transform", "xy23", "-6"); + assertXPath(pDocument, "/primitive2D/transform/transform", "xy31", "0"); + assertXPath(pDocument, "/primitive2D/transform/transform", "xy32", "0"); + assertXPath(pDocument, "/primitive2D/transform/transform", "xy33", "1"); +} + CPPUNIT_TEST_FIXTURE(Test, testTdf97936) { // check that both rectangles are rendered in the viewBox diff --git a/svgio/qa/cppunit/data/tdf117920.svg b/svgio/qa/cppunit/data/tdf117920.svg new file mode 100644 index 000000000000..487e0f6cb925 --- /dev/null +++ b/svgio/qa/cppunit/data/tdf117920.svg @@ -0,0 +1,7 @@ + + + + + diff --git a/svgio/source/svgreader/svgdocumenthandler.cxx b/svgio/source/svgreader/svgdocumenthandler.cxx index 0b66a4bb44da..9c8ab88f2f62 100644 --- a/svgio/source/svgreader/svgdocumenthandler.cxx +++ b/svgio/source/svgreader/svgdocumenthandler.cxx @@ -199,6 +199,7 @@ namespace mpTarget->parseAttributes(xAttribs); break; } + case SVGToken::Switch: //TODO: Support switch element case SVGToken::Defs: case SVGToken::G: { @@ -442,12 +443,6 @@ namespace break; } - case SVGToken::Switch: - { - //TODO: Support switch element - break; - } - default: { mpTarget = new SvgNode(SVGToken::Unknown, maDocument, mpTarget); -- cgit