From 984bef33b5b8cde40e2f4e591ae3afca51eb7104 Mon Sep 17 00:00:00 2001 From: Gülşah Köse Date: Wed, 10 Feb 2021 20:14:22 +0300 Subject: tdf#134210 Better testing for cropping bitmap of custom shape. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I592e2e99306a4aa27dce17e8b8d75e4bb2262cab Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110723 Tested-by: Jenkins Reviewed-by: Gülşah Köse Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110966 Tested-by: Jenkins CollaboraOffice Reviewed-by: Miklos Vajna --- sd/qa/unit/data/pptx/crop-position.pptx | Bin 175724 -> 28479 bytes sd/qa/unit/export-tests-ooxml1.cxx | 21 +++++++-------------- sd/qa/unit/import-tests.cxx | 9 +++++---- 3 files changed, 12 insertions(+), 18 deletions(-) diff --git a/sd/qa/unit/data/pptx/crop-position.pptx b/sd/qa/unit/data/pptx/crop-position.pptx index 69507514e0b7..85b859be6b8e 100644 Binary files a/sd/qa/unit/data/pptx/crop-position.pptx and b/sd/qa/unit/data/pptx/crop-position.pptx differ diff --git a/sd/qa/unit/export-tests-ooxml1.cxx b/sd/qa/unit/export-tests-ooxml1.cxx index 1660e7b0c26c..2535815855e8 100644 --- a/sd/qa/unit/export-tests-ooxml1.cxx +++ b/sd/qa/unit/export-tests-ooxml1.cxx @@ -1097,25 +1097,18 @@ void SdOOXMLExportTest1::testCustomshapeBitmapfillSrcrect() // Without the accompanying fix in place, this test would have failed with: // - Expected: 1 // - Actual : 0 - // - XPath '//a:blipFill/a:srcRect' number of nodes is incorrect + // - XPath '/p:sld/p:cSld/p:spTree/p:sp/p:spPr/a:blipFill/a:srcRect' number of nodes is incorrect // i.e. was exported as in , which made part of the image // invisible. + assertXPath(pXmlDoc, "/p:sld/p:cSld/p:spTree/p:sp/p:spPr/a:blipFill/a:srcRect"); + // tdf#134210 // Original values of attribute of l and r in xml files: - // Because of we have not core feature for cropping bitmap in custom shapes, we added cropping - // support to import filter. We modified the bitmap during import. As result the original - // image is cropped anymore (if we had the core feature for that, the original image would - // remain same, just we would see like cropped in the shape) To see the image in correct - // position in Microsoft Office too, we have to remove left right top bottom percentages - // anymore. In the future if we add core feature to LibreOffice, this test will failed with - // When we add the core feature, we should change the control value with 4393 as following. - - //const OString sXmlPath = "//a:blipFill/a:srcRect"; - //sal_Int32 nLeftPercent = getXPath(pXmlDoc, sXmlPath, "l").toInt32(); - //CPPUNIT_ASSERT_EQUAL(sal_Int32(4393), nLeftPercent); - //sal_Int32 nRightPercent = getXPath(pXmlDoc, sXmlPath, "r").toInt32(); - //CPPUNIT_ASSERT_EQUAL(sal_Int32(4393), nRightPercent); + // No core feature for handling this. We add suuport to import filter. We crop the bitmap + // physically during import and shouldn't export the l r t b attributes anymore. In the + // future if we add core feature to LibreOffice, we should change the control value with + // 4393. assertXPathNoAttribute(pXmlDoc, "/p:sld/p:cSld/p:spTree/p:sp/p:spPr/a:blipFill/a:srcRect", "l"); assertXPathNoAttribute(pXmlDoc, "/p:sld/p:cSld/p:spTree/p:sp/p:spPr/a:blipFill/a:srcRect", "r"); diff --git a/sd/qa/unit/import-tests.cxx b/sd/qa/unit/import-tests.cxx index 6b52466c2513..32779db85579 100644 --- a/sd/qa/unit/import-tests.cxx +++ b/sd/qa/unit/import-tests.cxx @@ -209,8 +209,8 @@ public: void testTdf128684(); void testTdf119187(); void testMirroredGraphic(); - void testCropPositionGraphic(); void testGreysScaleGraphic(); + void testTdf134210CropPosition(); bool checkPattern(sd::DrawDocShellRef const & rDocRef, int nShapeNumber, std::vector& rExpected); void testPatternImport(); @@ -338,8 +338,8 @@ public: CPPUNIT_TEST(testTdf113198); CPPUNIT_TEST(testTdf119187); CPPUNIT_TEST(testMirroredGraphic); - CPPUNIT_TEST(testCropPositionGraphic); CPPUNIT_TEST(testGreysScaleGraphic); + CPPUNIT_TEST(testTdf134210CropPosition); CPPUNIT_TEST_SUITE_END(); }; @@ -3242,8 +3242,9 @@ void SdImportTest::testMirroredGraphic() xDocShRef->DoClose(); } -void SdImportTest::testCropPositionGraphic() +void SdImportTest::testTdf134210CropPosition() { + // We are testing crop position of bitmap in custom shapes. We should see only green with proper fix. sd::DrawDocShellRef xDocShRef = loadURL(m_directories.getURLFromSrc(u"sd/qa/unit/data/pptx/crop-position.pptx"), PPTX); uno::Reference xShape(getShapeFromPage(0, 0, xDocShRef), uno::UNO_SET_THROW); CPPUNIT_ASSERT(xShape.is()); @@ -3252,7 +3253,7 @@ void SdImportTest::testCropPositionGraphic() CPPUNIT_ASSERT(xGraphic.is()); Graphic aGraphic(xGraphic); BitmapEx aBitmap(aGraphic.GetBitmapEx()); - CPPUNIT_ASSERT_EQUAL( Color(8682893), aBitmap.GetPixelColor( 0, 0 )); + CPPUNIT_ASSERT_EQUAL( Color(8508442), aBitmap.GetPixelColor( 0, 0 )); xDocShRef->DoClose(); } -- cgit