summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGülşah Köse <gulsah.kose@collabora.com>2021-02-10 20:14:22 +0300
committerMiklos Vajna <vmiklos@collabora.com>2021-02-26 09:09:34 +0100
commit984bef33b5b8cde40e2f4e591ae3afca51eb7104 (patch)
treef9d6d30b85eb8915e7271f5df9e3b2b86c42de1d
parentf50b5eb2ac667f73d131a59107e24bd651f67f01 (diff)
tdf#134210 Better testing for cropping bitmap of custom shape.
Change-Id: I592e2e99306a4aa27dce17e8b8d75e4bb2262cab Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110723 Tested-by: Jenkins Reviewed-by: Gülşah Köse <gulsah.kose@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110966 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
-rw-r--r--sd/qa/unit/data/pptx/crop-position.pptxbin175724 -> 28479 bytes
-rw-r--r--sd/qa/unit/export-tests-ooxml1.cxx21
-rw-r--r--sd/qa/unit/import-tests.cxx9
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
--- a/sd/qa/unit/data/pptx/crop-position.pptx
+++ b/sd/qa/unit/data/pptx/crop-position.pptx
Binary files 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. <a:srcRect> was exported as <a:fillRect> in <a:stretch>, 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: <a:srcRect l="4393" r="4393"/>
- // 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<sal_uInt8>& 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<beans::XPropertySet> 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();
}