summaryrefslogtreecommitdiff
path: root/emfio
diff options
context:
space:
mode:
authorLuboš Luňák <l.lunak@collabora.com>2021-02-11 16:24:18 +0100
committerMiklos Vajna <vmiklos@collabora.com>2021-02-12 11:01:52 +0100
commitf52c5bea7775ac07cfacc232f0979a03bbdf9aa7 (patch)
tree19b1c1d8114c126835f2df5226be2396cdd94771 /emfio
parenta5be4c219af373d038bc034d26c63c67e9803ce8 (diff)
fix test for tdf#137413
The test tested for the topleft corner to be transparent and not black, but the bitmap has a black outline, so the corner actually should be black, unlike the rest of the bitmap. I have no idea how the test could have possibly passed (and those #if tests indicate that it correctly failed with most drawing backends). What apparently enabled this to pass was commit 828504974d70111e, which made the drawing use DrawTransformedBitmap() implementation in the VCL backends, and the Cairo one apparently mishandles it. Reverting 828504974d70111e made the test fail. This commit fixes (and simplifies) the test. Change-Id: I1560849d683558abbe0cde816c4505b9824a0692 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110769 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Diffstat (limited to 'emfio')
-rw-r--r--emfio/qa/cppunit/emf/EmfImportTest.cxx19
1 files changed, 6 insertions, 13 deletions
diff --git a/emfio/qa/cppunit/emf/EmfImportTest.cxx b/emfio/qa/cppunit/emf/EmfImportTest.cxx
index 20e84ca86c4a..85450a2e67a3 100644
--- a/emfio/qa/cppunit/emf/EmfImportTest.cxx
+++ b/emfio/qa/cppunit/emf/EmfImportTest.cxx
@@ -26,7 +26,6 @@
#include <drawinglayer/primitive2d/Primitive2DContainer.hxx>
#include <drawinglayer/tools/primitive2dxmldump.hxx>
-#include <vcl/BitmapReadAccess.hxx>
#include <memory>
#include <string_view>
@@ -384,19 +383,13 @@ void Test::TestPdfInEmf()
// height was only 5cm, so it looked blurry.
CPPUNIT_ASSERT_EQUAL(14321.0, pVectorGraphicData->getSizeHint().getY());
-#if !defined(WNT) && !defined(MACOSX)
- // Hmm, manual testing on Windows looks OK.
- BitmapEx aBitmapEx = aGraphic.GetBitmapEx();
- AlphaMask aMask = aBitmapEx.GetAlpha();
- Bitmap::ScopedReadAccess pAccess(aMask);
- Color aColor(pAccess->GetPixel(0, 0));
// Without the accompanying fix in place, this test would have failed with:
- // - Expected: 220
- // - Actual : 0
- // i.e. the pixel at the top left corner was entirely opaque, while it should be mostly
- // transparent.
- CPPUNIT_ASSERT_EQUAL(static_cast<sal_uInt8>(220), aColor.GetBlue());
-#endif
+ // - Expected: 0
+ // - Actual : 255
+ // i.e. the pixel in the center was entirely opaque, while it should be transparent.
+ BitmapEx aBitmapEx = aGraphic.GetBitmapEx();
+ Size size = aBitmapEx.GetSizePixel();
+ CPPUNIT_ASSERT_EQUAL(static_cast<sal_uInt8>(0), aBitmapEx.GetAlpha(size.Width() / 2, size.Height() / 2));
}
CPPUNIT_TEST_SUITE_REGISTRATION(Test);