On my Linux machine, CppunitTest_svgio keeps failing with

xmltesttools.cxx:95:Assertion
Test name: testTdf97542_1::TestBody
equality assertion failed
- Expected: 1
- Actual  : 0
- In <>, XPath '/primitive2D/transform/objectinfo/textsimpleportion' number of 
nodes is incorrect

xmltesttools.cxx:95:Assertion
Test name: testTdf97542_2::TestBody
equality assertion failed
- Expected: 1
- Actual  : 0
- In <>, XPath '/primitive2D/transform/objectinfo/svgradialgradient' number of 
nodes is incorrect

The problem appears to be that in the XML that

    xmlDocUniquePtr pDocument = 
dumper.dumpAndParse(Primitive2DContainer(aSequenceTdf97542_1));

dumps out (and then parses in again) there is an unexpected <mask> element nested in between the expected <transform> and <objectinfo> elements. That is, the dumped XML (for the first testTdf97542_1, but similarly also for the second testTdf97542_2) is

<?xml version="1.0" encoding="UTF-8"?>
<primitive2D>
 <transform xy11="26" xy12="0" xy13="0" xy21="0" xy22="26" xy23="0" xy31="0" xy32="0" 
xy33="1">
  <mask>
   <polypolygon height="50" width="200" minx="0" miny="0" maxx="200" maxy="50" path="m0 
0h200v50h-200z">
    <polygon>
     <point x="0" y="0"/>
     <point x="200" y="0"/>
     <point x="200" y="50"/>
     <point x="0" y="50"/>
    </polygon>
   </polypolygon>
   <objectinfo>
    <svgradialgradient startx="0" starty="0" radius="0.5" spreadmethod="pad" 
opacity="1">
     <transform xy11="1" xy12="0" xy13="0" xy21="0" xy22="1" xy23="0" xy31="0" xy32="0" 
xy33="1"/>
     <polypolygon height="50" width="200" minx="0" miny="0" maxx="200" maxy="50" 
path="m0 0h200v50h-200z">
      <polygon>
       <point x="0" y="0"/>
       <point x="200" y="0"/>
       <point x="200" y="50"/>
       <point x="0" y="50"/>
      </polygon>
     </polypolygon>
    </svgradialgradient>
    <textsimpleportion width="48" height="48" x="50" y="40" text="Text" fontcolor="#ffff00" 
familyname="serif"/>
   </objectinfo>
  </mask>
 </transform>
</primitive2D>

whereas e.g. on my Windows machine it is

<?xml version="1.0" encoding="UTF-8"?>
<primitive2D>
 <transform xy11="26" xy12="0" xy13="0" xy21="0" xy22="26" xy23="0" xy31="0" xy32="0" 
xy33="1">
  <objectinfo>
   <svgradialgradient startx="0" starty="0" radius="0.5" spreadmethod="pad" 
opacity="1">
    <transform xy11="1" xy12="0" xy13="0" xy21="0" xy22="1" xy23="0" xy31="0" xy32="0" 
xy33="1"/>
    <polypolygon height="50" width="200" minx="0" miny="0" maxx="200" maxy="50" 
path="m0 0h200v50h-200z">
     <polygon>
      <point x="0" y="0"/>
      <point x="200" y="0"/>
      <point x="200" y="50"/>
      <point x="0" y="50"/>
     </polygon>
    </polypolygon>
   </svgradialgradient>
   <textsimpleportion width="48" height="48" x="50" y="40" text="Text" fontcolor="#ffff00" 
familyname="serif"/>
  </objectinfo>
  <hiddengeometry>
   <polygonhairline color="#000000">
    <polygon>0,0 200,0 200,50 0,50</polygon>
   </polygonhairline>
  </hiddengeometry>
 </transform>
</primitive2D>

(And what would fix the failing tests for me on Linux is

diff --git a/svgio/qa/cppunit/SvgImportTest.cxx 
b/svgio/qa/cppunit/SvgImportTest.cxx
index fcd76f12bd1f..35b295bfba0a 100644
--- a/svgio/qa/cppunit/SvgImportTest.cxx
+++ b/svgio/qa/cppunit/SvgImportTest.cxx
@@ -929,10 +929,10 @@ CPPUNIT_TEST_FIXTURE(Test, testTdf97542_1)
CPPUNIT_ASSERT (pDocument); - assertXPath(pDocument, "/primitive2D/transform/objectinfo/textsimpleportion", "fontcolor", "#ffff00");
-    assertXPath(pDocument, "/primitive2D/transform/objectinfo/textsimpleportion", 
"text", "Text");
-    assertXPath(pDocument, "/primitive2D/transform/objectinfo/textsimpleportion", 
"height", "48");
-    assertXPath(pDocument, "/primitive2D/transform/objectinfo/textsimpleportion", 
"familyname", "serif");
+    assertXPath(pDocument, "/primitive2D/transform/mask/objectinfo/textsimpleportion", 
"fontcolor", "#ffff00");
+    assertXPath(pDocument, "/primitive2D/transform/mask/objectinfo/textsimpleportion", 
"text", "Text");
+    assertXPath(pDocument, "/primitive2D/transform/mask/objectinfo/textsimpleportion", 
"height", "48");
+    assertXPath(pDocument, "/primitive2D/transform/mask/objectinfo/textsimpleportion", 
"familyname", "serif");
 }
CPPUNIT_TEST_FIXTURE(Test, testTdf97542_2)
@@ -945,13 +945,13 @@ CPPUNIT_TEST_FIXTURE(Test, testTdf97542_2)
CPPUNIT_ASSERT (pDocument); - assertXPath(pDocument, "/primitive2D/transform/objectinfo/svgradialgradient", "startx", "1");
-    assertXPath(pDocument, "/primitive2D/transform/objectinfo/svgradialgradient", 
"starty", "1");
-    assertXPath(pDocument, 
"/primitive2D/transform/objectinfo/svgradialgradient/focalx", 0);
-    assertXPath(pDocument, 
"/primitive2D/transform/objectinfo/svgradialgradient/focaly", 0);
-    assertXPath(pDocument, "/primitive2D/transform/objectinfo/svgradialgradient", 
"radius", "3");
-    assertXPath(pDocument, "/primitive2D/transform/objectinfo/svgradialgradient", 
"spreadmethod", "pad");
-    assertXPath(pDocument, "/primitive2D/transform/objectinfo/svgradialgradient", 
"opacity", "1");
+    assertXPath(pDocument, "/primitive2D/transform/mask/objectinfo/svgradialgradient", 
"startx", "1");
+    assertXPath(pDocument, "/primitive2D/transform/mask/objectinfo/svgradialgradient", 
"starty", "1");
+    assertXPath(pDocument, 
"/primitive2D/transform/mask/objectinfo/svgradialgradient/focalx", 0);
+    assertXPath(pDocument, 
"/primitive2D/transform/mask/objectinfo/svgradialgradient/focaly", 0);
+    assertXPath(pDocument, "/primitive2D/transform/mask/objectinfo/svgradialgradient", 
"radius", "3");
+    assertXPath(pDocument, "/primitive2D/transform/mask/objectinfo/svgradialgradient", 
"spreadmethod", "pad");
+    assertXPath(pDocument, "/primitive2D/transform/mask/objectinfo/svgradialgradient", 
"opacity", "1");
 }
CPPUNIT_TEST_FIXTURE(Test, testTdf97543)

but which would of course break things for all the other builds that now succeed.)

Does anybody have an idea what could cause this difference in the dumped XML?

Reply via email to