diff options
Diffstat (limited to 'basegfx/test/genericclipper.cxx')
-rw-r--r-- | basegfx/test/genericclipper.cxx | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/basegfx/test/genericclipper.cxx b/basegfx/test/genericclipper.cxx index b4ccb5cd9c1c..d3b79ce7d1ed 100644 --- a/basegfx/test/genericclipper.cxx +++ b/basegfx/test/genericclipper.cxx @@ -121,13 +121,13 @@ public: void validateOr() { - const char* pValid="m0 0h100v150h-75v-50h-5v50h-20v-50-10zm75 10v-50h-50v50z"; + const char* pValid="m0 0h100v150h-75v-50h-5v50h-20v-50-10zm75 100v-50h-50v50z"; validate("validateOr", pValid, &tools::solvePolygonOperationOr); } void validateXor() { - const char* pValid="m0 0h100v150h-75v-50h-5v50h-20v-50-10zm0 10h20v-10h-20zm75 10v-50h-50v50z"; + const char* pValid="m0 0h100v150h-75v-50h-5v50h-20v-50-10zm0 100h20v-10h-20zm75 0v-50h-50v50z"; validate("validateXor", pValid, &tools::solvePolygonOperationXor); } @@ -139,10 +139,23 @@ public: void validateDiff() { - const char* pValid="m0 90v-90h100v150h-75v-50h-5v-10zm55 10v-50h-50v50z"; + const char* pValid="m0 90v-90h100v150h-75v-50h-5v-10zm75 10v-50h-50v50z"; validate("validateDiff", pValid, &tools::solvePolygonOperationDiff); } + void checkCrossoverSolver() + { + B2DPolyPolygon aPoly; + tools::importFromSvgD( + aPoly, + ::rtl::OUString( + RTL_CONSTASCII_USTRINGPARAM( + "m0 0 v 5 h 3 h 1 h 1 h 1 v -2 v -3 z" + "m3 7 v -2 h 1 h 1 h 1 v -2 h 1 v 3 z"))); + + tools::solveCrossovers(aPoly); + } + // Change the following lines only, if you add, remove or rename // member functions of the current class, // because these macros are need by auto register mechanism. @@ -152,6 +165,7 @@ public: CPPUNIT_TEST(validateXor); CPPUNIT_TEST(validateAnd); CPPUNIT_TEST(validateDiff); + CPPUNIT_TEST(checkCrossoverSolver); CPPUNIT_TEST_SUITE_END(); }; |