diff options
Diffstat (limited to 'basebmp/test')
-rw-r--r-- | basebmp/test/bmptest.cxx | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/basebmp/test/bmptest.cxx b/basebmp/test/bmptest.cxx index 571e32e776d0..376b24f4ff2e 100644 --- a/basebmp/test/bmptest.cxx +++ b/basebmp/test/bmptest.cxx @@ -89,6 +89,22 @@ private: DrawMode_PAINT ); CPPUNIT_ASSERT_MESSAGE("number of rendered pixel is not 32", countPixel( rDevice, aCol ) == 32); + + BitmapDeviceSharedPtr pClone = subsetBitmapDevice( + rBmp, aSourceRect ); + + // two overlapping areas within the same memory block, check + // if we clobber the mem or properly detect the case + const basegfx::B2IBox aSourceOverlap(0,0,6,10); + const basegfx::B2IBox aDestOverlap(3,0,9,10); + rBmp->drawBitmap( + pClone, + aSourceOverlap, + aDestOverlap, + DrawMode_PAINT ); + CPPUNIT_ASSERT_MESSAGE("clobbertest - number of set pixel is not 50", + countPixel( rBmp, aCol ) == 50); + } void implTestBmpClip(const BitmapDeviceSharedPtr& rDevice, |