svgio/qa/cppunit/SvgImportTest.cxx | 17 +++++++++++++++++ svgio/qa/cppunit/data/ShapeWithClipPath.svg | 13 +++++++++++++ 2 files changed, 30 insertions(+)
New commits: commit 8580cbdc19224bc2a467535cc527cd28b0f30879 Author: Xisco Fauli <[email protected]> AuthorDate: Fri Jul 15 01:46:44 2022 +0200 Commit: Xisco Fauli <[email protected]> CommitDate: Fri Jul 15 02:30:18 2022 +0200 svgio: qa: Add test for shape with ref to clipPath Change-Id: Ifefb27db8415eb55b22f1537e1790fcd9feb3ee4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137092 Tested-by: Jenkins Reviewed-by: Xisco Fauli <[email protected]> diff --git a/svgio/qa/cppunit/SvgImportTest.cxx b/svgio/qa/cppunit/SvgImportTest.cxx index 3165d596e333..13f135460017 100644 --- a/svgio/qa/cppunit/SvgImportTest.cxx +++ b/svgio/qa/cppunit/SvgImportTest.cxx @@ -61,6 +61,7 @@ class Test : public test::BootstrapFixture, public XmlTestTools void testTdf149893(); void testClipPathAndParentStyle(); void testClipPathAndStyle(); + void testShapeWithClipPath(); void testi125329(); void testMaskingPath07b(); void test123926(); @@ -102,6 +103,7 @@ public: CPPUNIT_TEST(testTdf149893); CPPUNIT_TEST(testClipPathAndParentStyle); CPPUNIT_TEST(testClipPathAndStyle); + CPPUNIT_TEST(testShapeWithClipPath); CPPUNIT_TEST(testi125329); CPPUNIT_TEST(testMaskingPath07b); CPPUNIT_TEST(test123926); @@ -632,6 +634,21 @@ void Test::testClipPathAndStyle() } +void Test::testShapeWithClipPath() +{ + // Check there is a mask and 3 polygons + Primitive2DSequence aSequenceClipPathAndStyle = parseSvg(u"/svgio/qa/cppunit/data/ShapeWithClipPath.svg"); + CPPUNIT_ASSERT_EQUAL(1, static_cast<int>(aSequenceClipPathAndStyle.getLength())); + + drawinglayer::Primitive2dXmlDump dumper; + xmlDocUniquePtr pDocument = dumper.dumpAndParse(Primitive2DContainer(aSequenceClipPathAndStyle)); + + CPPUNIT_ASSERT (pDocument); + + assertXPath(pDocument, "/primitive2D/transform/mask/polypolygon/polygon", 2); + assertXPath(pDocument, "/primitive2D/transform/mask/polypolygoncolor/polypolygon/polygon", 1); +} + void Test::testi125329() { //Check style inherit from * css element diff --git a/svgio/qa/cppunit/data/ShapeWithClipPath.svg b/svgio/qa/cppunit/data/ShapeWithClipPath.svg new file mode 100644 index 000000000000..28c51b4dfb79 --- /dev/null +++ b/svgio/qa/cppunit/data/ShapeWithClipPath.svg @@ -0,0 +1,13 @@ +<?xml version="1.0"?> +<svg width="120" height="120" + viewPort="0 0 120 120" version="1.1" + xmlns="http://www.w3.org/2000/svg"> + + <clipPath id="myClip"> + <rect x="30" y="30" width="20" height="20"/> + <rect x="70" y="70" width="20" height="20"/> + </clipPath> + + <rect x="10" y="10" width="100" height="100" fill="#00D000" + clip-path="url(#myClip)"/> +</svg>
