diff options
author | Xisco Fauli <xiscofauli@libreoffice.org> | 2023-08-17 09:24:18 +0200 |
---|---|---|
committer | Xisco Fauli <xiscofauli@libreoffice.org> | 2023-08-18 01:09:04 +0200 |
commit | 8b9643960117612b7e1cae1ed8325c2630232d0f (patch) | |
tree | ded1b1ac626a625a4c143fa23f211bb4c3c7acf8 /svgio | |
parent | e79f0f65ab06baafc7e8a6aeb1d89ca748087b24 (diff) |
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 <xiscofauli@libreoffice.org>
Diffstat (limited to 'svgio')
-rw-r--r-- | svgio/qa/cppunit/SvgImportTest.cxx | 21 | ||||
-rw-r--r-- | svgio/qa/cppunit/data/tdf117920.svg | 7 | ||||
-rw-r--r-- | svgio/source/svgreader/svgdocumenthandler.cxx | 7 |
3 files changed, 29 insertions, 6 deletions
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<int>(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 @@ +<svg width="100%" height="100%" viewBox="0 0 100 100" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink"> + <switch transform="translate(-18,-6)"> + <rect width="13" height="13" x="18" y="6" /> + </switch> +</svg> 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); |