diff options
author | Armin Le Grand <alg@apache.org> | 2013-10-29 14:11:45 +0000 |
---|---|---|
committer | Armin Le Grand <alg@apache.org> | 2013-10-29 14:11:45 +0000 |
commit | f15874d8f976f3874bdbcb53429eeefa65c28841 (patch) | |
tree | f0e65216e58b2f8dee632209606fe75cfacfdc07 /basegfx/test | |
parent | 697d89b1dda760a39cd8e7e28f386dbec1aaff61 (diff) |
i123433 Detect pseudo-vertices at svg import, unify svg:d handling, correct svg:d import for relative sub-polygons in svg import; changed default for moveto writes for svg:d in ODF to absolute
Notes
Notes:
merged as: 223f6b631c1b087754c0f9051fb55f029f2503ce
Diffstat (limited to 'basegfx/test')
-rw-r--r-- | basegfx/test/basegfx2d.cxx | 40 | ||||
-rw-r--r-- | basegfx/test/boxclipper.cxx | 20 | ||||
-rw-r--r-- | basegfx/test/clipstate.cxx | 13 | ||||
-rw-r--r-- | basegfx/test/genericclipper.cxx | 8 |
4 files changed, 34 insertions, 47 deletions
diff --git a/basegfx/test/basegfx2d.cxx b/basegfx/test/basegfx2d.cxx index 45c98780832e..b317d7b4e630 100644 --- a/basegfx/test/basegfx2d.cxx +++ b/basegfx/test/basegfx2d.cxx @@ -150,23 +150,20 @@ public: ::rtl::OUString aExport; CPPUNIT_ASSERT_MESSAGE("importing simple rectangle from SVG-D", - tools::importFromSvgD( aPoly, - aPath0 )); - aExport = tools::exportToSvgD( aPoly ); + tools::importFromSvgD( aPoly, aPath0, false, 0 )); + aExport = tools::exportToSvgD( aPoly, true, true, false ); const char* sExportString = "m10 10h-20v-20h20z"; CPPUNIT_ASSERT_MESSAGE("exporting rectangle to SVG-D", !aExport.compareToAscii(sExportString) ); CPPUNIT_ASSERT_MESSAGE("importing simple rectangle from SVG-D (round-trip", - tools::importFromSvgD( aPoly, - aExport )); - aExport = tools::exportToSvgD( aPoly ); + tools::importFromSvgD( aPoly, aExport, false, 0 )); + aExport = tools::exportToSvgD( aPoly, true, true, false ); CPPUNIT_ASSERT_MESSAGE("exporting rectangle to SVG-D (round-trip)", !aExport.compareToAscii(sExportString)); CPPUNIT_ASSERT_MESSAGE("importing simple bezier polygon from SVG-D", - tools::importFromSvgD( aPoly, - aPath1 )); - aExport = tools::exportToSvgD( aPoly ); + tools::importFromSvgD( aPoly, aPath1, false, 0 )); + aExport = tools::exportToSvgD( aPoly, true, true, false ); // Adaptions for B2DPolygon bezier change (see #i77162#): // @@ -193,11 +190,11 @@ public: // a 2nd good test is that re-importing of aExport has to create the same // B2DPolPolygon again: B2DPolyPolygon aReImport; - CPPUNIT_ASSERT_MESSAGE("importing simple bezier polygon from SVG-D", tools::importFromSvgD( aReImport, aExport)); + CPPUNIT_ASSERT_MESSAGE("importing simple bezier polygon from SVG-D", tools::importFromSvgD( aReImport, aExport, false, 0)); CPPUNIT_ASSERT_MESSAGE("re-imported polygon needs to be identical", aReImport == aPoly); - CPPUNIT_ASSERT_MESSAGE("importing '@' from SVG-D", tools::importFromSvgD( aPoly, aPath2 )); - aExport = tools::exportToSvgD( aPoly ); + CPPUNIT_ASSERT_MESSAGE("importing '@' from SVG-D", tools::importFromSvgD( aPoly, aPath2, , false, 0)); + aExport = tools::exportToSvgD( aPoly, true, true, false ); // Adaptions for B2DPolygon bezier change (see #i77162#): // @@ -213,22 +210,20 @@ public: "8 752-224 1128-21 101-31 183-31 245 0 39 9 70 26 93 17 24 39 36 67 36 145 0 279-80 400-240s182-365 182-615c0-2" "88-107-533-322-734s-487-301-816-301c-395 0-715 124-960 373s-368 569-368 958q0 577.5 357 900c237 216 557 324 95" "8 325 189-1 389-27 600-77 211-52 378-110 503-174q40.5 105 81 210z"; - CPPUNIT_ASSERT_MESSAGE("re-importing '@' from SVG-D", tools::importFromSvgD( aReImport, aExport)); + CPPUNIT_ASSERT_MESSAGE("re-importing '@' from SVG-D", tools::importFromSvgD( aReImport, aExport, false, 0)); CPPUNIT_ASSERT_MESSAGE("re-imported '@' needs to be identical", aReImport == aPoly); CPPUNIT_ASSERT_MESSAGE("exporting '@' to SVG-D", !aExport.compareToAscii(sExportString1)); CPPUNIT_ASSERT_MESSAGE("importing '@' from SVG-D (round-trip", - tools::importFromSvgD( aPoly, - aExport )); - aExport = tools::exportToSvgD( aPoly ); + tools::importFromSvgD( aPoly, aExport, false, 0 )); + aExport = tools::exportToSvgD( aPoly, true, true, false ); CPPUNIT_ASSERT_MESSAGE("exporting '@' to SVG-D (round-trip)", !aExport.compareToAscii(sExportString1)); CPPUNIT_ASSERT_MESSAGE("importing complex polygon from SVG-D", - tools::importFromSvgD( aPoly, - aPath3 )); - aExport = tools::exportToSvgD( aPoly ); + tools::importFromSvgD( aPoly, aPath3, false, 0 )); + aExport = tools::exportToSvgD( aPoly, true, true, false ); const char* sExportString2 = "m1598 125h306v2334h-306v-1105h-1293v1105h-305v-2334h305v973h1293" "zm2159 1015 78-44 85 235-91 47-91 40-90 34-90 29-89 21-88 16-88 10-88 3-102-4-97" @@ -253,15 +248,14 @@ public: CPPUNIT_ASSERT_MESSAGE("exporting complex polygon to SVG-D", !aExport.compareToAscii(sExportString2)); CPPUNIT_ASSERT_MESSAGE("importing complex polygon from SVG-D (round-trip", - tools::importFromSvgD( aPoly, - aExport )); - aExport = tools::exportToSvgD( aPoly ); + tools::importFromSvgD( aPoly, aExport, false, 0 )); + aExport = tools::exportToSvgD( aPoly, true, true, false ); CPPUNIT_ASSERT_MESSAGE("exporting complex polygon to SVG-D (round-trip)", !aExport.compareToAscii(sExportString2)); const B2DPolygon aRect( tools::createPolygonFromRect( B2DRange(0.0,0.0,4000.0,4000.0) )); - aExport = tools::exportToSvgD( B2DPolyPolygon(aRect), false, false); + aExport = tools::exportToSvgD( B2DPolyPolygon(aRect), false, false, false ); const char* sExportStringRect = "M0 0H4000V4000H0Z"; CPPUNIT_ASSERT_MESSAGE("exporting to rectangle svg-d string", diff --git a/basegfx/test/boxclipper.cxx b/basegfx/test/boxclipper.cxx index a90a602c08d3..38fd51d1b75c 100644 --- a/basegfx/test/boxclipper.cxx +++ b/basegfx/test/boxclipper.cxx @@ -175,7 +175,7 @@ public: B2DPolyPolygon randomPoly; tools::importFromSvgD( randomPoly, - rtl::OUString::createFromAscii(randomSvg)); + rtl::OUString::createFromAscii(randomSvg), false, 0); std::for_each(randomPoly.begin(), randomPoly.end(), boost::bind( @@ -243,16 +243,14 @@ public: B2DPolyPolygon aTmp1; CPPUNIT_ASSERT_MESSAGE(sName, tools::importFromSvgD( - aTmp1, - rtl::OUString::createFromAscii(sSvg))); + aTmp1, rtl::OUString::createFromAscii(sSvg), false, 0)); const rtl::OUString aSvg= - tools::exportToSvgD(toTest.solveCrossovers()); + tools::exportToSvgD(toTest.solveCrossovers(), , true, true, false); B2DPolyPolygon aTmp2; CPPUNIT_ASSERT_MESSAGE(sName, tools::importFromSvgD( - aTmp2, - aSvg)); + aTmp2, aSvg, false, 0)); CPPUNIT_ASSERT_MESSAGE( sName, @@ -303,7 +301,7 @@ public: #if defined(VERBOSE) fprintf(stderr, "%s - svg:d=\"%s\"\n", pName, rtl::OUStringToOString( - basegfx::tools::exportToSvgD(rPoly), + basegfx::tools::exportToSvgD(rPoly, , true, true, false), RTL_TEXTENCODING_UTF8).getStr() ); #endif } @@ -347,15 +345,14 @@ public: fprintf(stderr, "%s input - svg:d=\"%s\"\n", pName, rtl::OUStringToOString( basegfx::tools::exportToSvgD( - genericClip), + genericClip, , true, true, false), RTL_TEXTENCODING_UTF8).getStr() ); #endif const B2DPolyPolygon boxClipResult=rRange.solveCrossovers(); const rtl::OUString boxClipSvg( basegfx::tools::exportToSvgD( - normalizePoly( - boxClipResult))); + normalizePoly(boxClipResult)), true, true, false); #if defined(VERBOSE) fprintf(stderr, "%s boxclipper - svg:d=\"%s\"\n", pName, rtl::OUStringToOString( @@ -366,8 +363,7 @@ public: genericClip = tools::solveCrossovers(genericClip); const rtl::OUString genericClipSvg( basegfx::tools::exportToSvgD( - normalizePoly( - genericClip))); + normalizePoly(genericClip)), true, true, false); #if defined(VERBOSE) fprintf(stderr, "%s genclipper - svg:d=\"%s\"\n", pName, rtl::OUStringToOString( diff --git a/basegfx/test/clipstate.cxx b/basegfx/test/clipstate.cxx index 60c6da40f10b..7a3529d8c939 100644 --- a/basegfx/test/clipstate.cxx +++ b/basegfx/test/clipstate.cxx @@ -107,23 +107,21 @@ public: #if defined(VERBOSE) fprintf(stderr, "%s - svg:d=\"%s\"\n", sName, rtl::OUStringToOString( - basegfx::tools::exportToSvgD(toTest.getClipPoly()), + basegfx::tools::exportToSvgD(toTest.getClipPoly(), true, true, false), RTL_TEXTENCODING_UTF8).getStr() ); #endif B2DPolyPolygon aTmp1; CPPUNIT_ASSERT_MESSAGE(sName, tools::importFromSvgD( - aTmp1, - rtl::OUString::createFromAscii(sSvg))); + aTmp1, rtl::OUString::createFromAscii(sSvg), false, 0)); const rtl::OUString aSvg= - tools::exportToSvgD(toTest.getClipPoly()); + tools::exportToSvgD(toTest.getClipPoly(), true, true, false); B2DPolyPolygon aTmp2; CPPUNIT_ASSERT_MESSAGE(sName, tools::importFromSvgD( - aTmp2, - aSvg)); + aTmp2, aSvg, false, 0)); CPPUNIT_ASSERT_MESSAGE( sName, @@ -153,8 +151,7 @@ public: B2DPolyPolygon aTmp1; tools::importFromSvgD( - aTmp1, - rtl::OUString::createFromAscii(unionSvg)); + aTmp1, rtl::OUString::createFromAscii(unionSvg), false, 0); aMixedClip.intersectPolyPolygon(aTmp1); aMixedClip.subtractRange(B2DRange(-20,-150,20,0)); diff --git a/basegfx/test/genericclipper.cxx b/basegfx/test/genericclipper.cxx index 39e2cd47d836..49abbbd1aa74 100644 --- a/basegfx/test/genericclipper.cxx +++ b/basegfx/test/genericclipper.cxx @@ -91,12 +91,12 @@ public: fprintf(stderr, "%s input LHS - svg:d=\"%s\"\n", pName, rtl::OUStringToOString( basegfx::tools::exportToSvgD( - aSelfIntersect), + aSelfIntersect, true, true, false), RTL_TEXTENCODING_UTF8).getStr() ); fprintf(stderr, "%s input RHS - svg:d=\"%s\"\n", pName, rtl::OUStringToOString( basegfx::tools::exportToSvgD( - aRect), + aRect, true, true, false), RTL_TEXTENCODING_UTF8).getStr() ); #endif @@ -106,14 +106,14 @@ public: #if defined(VERBOSE) fprintf(stderr, "%s - svg:d=\"%s\"\n", pName, rtl::OUStringToOString( - basegfx::tools::exportToSvgD(aRes), + basegfx::tools::exportToSvgD(aRes, true, true, false), RTL_TEXTENCODING_UTF8).getStr() ); #endif rtl::OUString aValid=rtl::OUString::createFromAscii(pValidSvgD); CPPUNIT_ASSERT_MESSAGE(pName, - basegfx::tools::exportToSvgD(aRes) == aValid); + basegfx::tools::exportToSvgD(aRes, true, true, false) == aValid); } void validateOr() |