diff options
author | Gülşah Köse <gulsah.kose@collabora.com> | 2019-02-20 19:06:33 +0300 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2019-02-21 22:31:55 +0100 |
commit | 6676952d319e032a631bfe9d8ce23ebcb4c92f5b (patch) | |
tree | f74cfe15789f971ce7f5b931493a292159acb506 /sd | |
parent | ae45caab851a5c1fd00b065d8e9a1a47964c82be (diff) |
tdf#123090 Handle removed column with gridSpan.
This is a combination of 3 commits.
(cherry picked from commit 48ef20f2039d1a300a4324072e9b712c9994b406)
(cherry picked from commit 00e89430a2f8cd1f9ec702a7583a1e4c886a2b46)
(cherry picked from commit 1f0206d940cd8f7fb627a59cfe4165c0bfebaf46)
Change-Id: Ic6fa6f335623e2114fc8bea76dc54833284d2a02
Reviewed-on: https://gerrit.libreoffice.org/68154
Tested-by: Jenkins
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Diffstat (limited to 'sd')
-rw-r--r-- | sd/qa/unit/data/pptx/tdf123090.pptx | bin | 0 -> 34570 bytes | |||
-rw-r--r-- | sd/qa/unit/import-tests.cxx | 31 |
2 files changed, 30 insertions, 1 deletions
diff --git a/sd/qa/unit/data/pptx/tdf123090.pptx b/sd/qa/unit/data/pptx/tdf123090.pptx Binary files differnew file mode 100644 index 000000000000..c219f52de0a2 --- /dev/null +++ b/sd/qa/unit/data/pptx/tdf123090.pptx diff --git a/sd/qa/unit/import-tests.cxx b/sd/qa/unit/import-tests.cxx index 2ef5faebe78b..2f506414f920 100644 --- a/sd/qa/unit/import-tests.cxx +++ b/sd/qa/unit/import-tests.cxx @@ -188,6 +188,7 @@ public: void testPatternImport(); void testPptCrop(); void testTdf119015(); + void testTdf123090(); void testTdf120028(); void testTdf120028b(); @@ -272,6 +273,7 @@ public: CPPUNIT_TEST(testTdf116266); CPPUNIT_TEST(testPptCrop); CPPUNIT_TEST(testTdf119015); + CPPUNIT_TEST(testTdf123090); CPPUNIT_TEST(testTdf120028); CPPUNIT_TEST(testTdf120028b); @@ -2554,13 +2556,40 @@ void SdImportTest::testTdf119015() uno::Reference<table::XTable> xTable(pTableObj->getTable()); // Test that we actually have three cells: this threw css.lang.IndexOutOfBoundsException - uno::Reference<text::XTextRange> xTextRange(xTable->getCellByPosition(2, 0), + uno::Reference<text::XTextRange> xTextRange(xTable->getCellByPosition(1, 0), uno::UNO_QUERY_THROW); CPPUNIT_ASSERT_EQUAL(OUString("A3"), xTextRange->getString()); xDocShRef->DoClose(); } +void SdImportTest::testTdf123090() +{ + ::sd::DrawDocShellRef xDocShRef + = loadURL(m_directories.getURLFromSrc("/sd/qa/unit/data/pptx/tdf123090.pptx"), PPTX); + + const SdrPage* pPage = GetPage(1, xDocShRef); + + sdr::table::SdrTableObj* pTableObj = dynamic_cast<sdr::table::SdrTableObj*>(pPage->GetObj(0)); + CPPUNIT_ASSERT(pTableObj); + + uno::Reference<table::XTable> xTable(pTableObj->getTable()); + + // Test that we actually have two cells: this threw css.lang.IndexOutOfBoundsException + uno::Reference<text::XTextRange> xTextRange(xTable->getCellByPosition(1, 0), + uno::UNO_QUERY_THROW); + CPPUNIT_ASSERT_EQUAL(OUString("aaa"), xTextRange->getString()); + + sal_Int32 nWidth; + const OUString sWidth("Width"); + uno::Reference< css::table::XTableColumns > xColumns( xTable->getColumns(), uno::UNO_QUERY_THROW); + uno::Reference< beans::XPropertySet > xRefColumn( xColumns->getByIndex(1), uno::UNO_QUERY_THROW ); + xRefColumn->getPropertyValue( sWidth ) >>= nWidth; + CPPUNIT_ASSERT_EQUAL( sal_Int32(9136), nWidth); + + xDocShRef->DoClose(); +} + void SdImportTest::testTdf120028() { // Check that the table shape has 4 columns. |