summaryrefslogtreecommitdiffstats
path: root/basegfx/test/genericclipper.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'basegfx/test/genericclipper.cxx')
-rw-r--r--basegfx/test/genericclipper.cxx20
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();
};