summaryrefslogtreecommitdiff
path: root/sd
diff options
context:
space:
mode:
authorGülşah Köse <gulsah.kose@collabora.com>2022-01-05 13:03:14 +0300
committerXisco Fauli <xiscofauli@libreoffice.org>2022-01-11 09:56:07 +0100
commit35b179b88330e1e94980192c598f23661e2757f9 (patch)
tree5a257b515bff2bc1a94508ffc4fde52ddfeb414d /sd
parentd73cf0abc3d1bfd7e3a1d3d1b41c63bbb17d61bb (diff)
tdf#135843 Fix the missing border handling
Adding +1 at that stage causes indexoutofbounds. But never throws that exception and tries to pull empty cell style instead. As a result we can not see the border. Actually no idea why +1 used here. Change-Id: Id54ba6445d022540173af3bbf5d679b7edefc55b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127990 Tested-by: Jenkins Reviewed-by: Gülşah Köse <gulsah.kose@collabora.com> (cherry picked from commit fa5ab8aa5d88e7128015127af75980a65f945cbb) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128163 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Diffstat (limited to 'sd')
-rw-r--r--sd/qa/unit/data/pptx/tdf135843.pptxbin0 -> 22951 bytes
-rw-r--r--sd/qa/unit/import-tests.cxx27
2 files changed, 26 insertions, 1 deletions
diff --git a/sd/qa/unit/data/pptx/tdf135843.pptx b/sd/qa/unit/data/pptx/tdf135843.pptx
new file mode 100644
index 000000000000..0a5dcb334b0c
--- /dev/null
+++ b/sd/qa/unit/data/pptx/tdf135843.pptx
Binary files differ
diff --git a/sd/qa/unit/import-tests.cxx b/sd/qa/unit/import-tests.cxx
index 303ab76bed7b..5035fa6cedb8 100644
--- a/sd/qa/unit/import-tests.cxx
+++ b/sd/qa/unit/import-tests.cxx
@@ -101,6 +101,7 @@
#include <vcl/dibtools.hxx>
#include <svx/svdograf.hxx>
#include <vcl/filter/PDFiumLibrary.hxx>
+#include <vcl/gdimtf.hxx>
using namespace ::com::sun::star;
@@ -117,7 +118,7 @@ static std::ostream& operator<<(std::ostream& rStrm, const uno::Reference<T>& xR
/// Impress import filters tests.
-class SdImportTest : public SdModelTestBase
+class SdImportTest : public SdModelTestBaseXML
{
public:
virtual void setUp() override;
@@ -187,6 +188,7 @@ public:
void testTdf93124();
void testTdf99729();
void testTdf89927();
+ void testTdf135843();
CPPUNIT_TEST_SUITE(SdImportTest);
@@ -255,6 +257,7 @@ public:
CPPUNIT_TEST(testTdf93124);
CPPUNIT_TEST(testTdf99729);
CPPUNIT_TEST(testTdf89927);
+ CPPUNIT_TEST(testTdf135843);
CPPUNIT_TEST_SUITE_END();
};
@@ -1958,6 +1961,28 @@ void SdImportTest::testTdf89927()
xDocShRef->DoClose();
}
+void SdImportTest::testTdf135843()
+{
+ sd::DrawDocShellRef xDocShRef = loadURL( m_directories.getURLFromSrc(u"/sd/qa/unit/data/pptx/tdf135843.pptx"), PPTX );
+
+ std::shared_ptr<GDIMetaFile> xMetaFile = xDocShRef->GetPreviewMetaFile();
+ MetafileXmlDump dumper;
+
+ xmlDocUniquePtr pXmlDoc = XmlTestTools::dumpAndParse(dumper, *xMetaFile);
+ CPPUNIT_ASSERT(pXmlDoc);
+
+ // Without the fix, the test fails with:
+ // - Expected: 21165
+ // - Actual : 4218
+ assertXPath(pXmlDoc, "/metafile/push[1]/push[1]/push[5]/polyline[1]/point[1]", "x", "21165");
+ assertXPath(pXmlDoc, "/metafile/push[1]/push[1]/push[5]/polyline[1]/point[1]", "y", "3866");
+
+ assertXPath(pXmlDoc, "/metafile/push[1]/push[1]/push[5]/polyline[1]/point[2]", "x", "21165");
+ assertXPath(pXmlDoc, "/metafile/push[1]/push[1]/push[5]/polyline[1]/point[2]", "y", "5956");
+
+ xDocShRef->DoClose();
+}
+
CPPUNIT_TEST_SUITE_REGISTRATION(SdImportTest);
CPPUNIT_PLUGIN_IMPLEMENT();