sw/qa/extras/ooxmlexport/data/tdf131561_necessaryBorder.docx |binary sw/qa/extras/ooxmlexport/ooxmlexport15.cxx | 16 +++++++++++ 2 files changed, 16 insertions(+)
New commits: commit c5e4c2603197ecfbc19957da775f80ba06648105 Author: Justin Luth <justin.l...@collabora.com> AuthorDate: Thu Jun 4 21:08:10 2020 +0300 Commit: Justin Luth <justin_l...@sil.org> CommitDate: Tue Jul 14 06:02:40 2020 +0200 tdf#131561 writerfilter: pre-emptive unit test Someone might be tempted to just delete any border on a merged cell, hoping/expecting that the adjoining cell would have a corresponding border. Granted, this test was hand-crafted and is not necessarily something that Word would ever create. At least be aware that any fix that breaks this example is not a complete solution. Change-Id: I438c835b54ec8b33eb48de55f09a7cf2965f6440 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95533 Tested-by: Jenkins Reviewed-by: Justin Luth <justin_l...@sil.org> diff --git a/sw/qa/extras/ooxmlexport/data/tdf131561_necessaryBorder.docx b/sw/qa/extras/ooxmlexport/data/tdf131561_necessaryBorder.docx new file mode 100644 index 000000000000..51d1c52022c3 Binary files /dev/null and b/sw/qa/extras/ooxmlexport/data/tdf131561_necessaryBorder.docx differ diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport15.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport15.cxx index 1e13de385fa4..776fe5df0010 100644 --- a/sw/qa/extras/ooxmlexport/ooxmlexport15.cxx +++ b/sw/qa/extras/ooxmlexport/ooxmlexport15.cxx @@ -57,6 +57,22 @@ DECLARE_OOXMLEXPORT_TEST(testTdf129452_excessBorder, "tdf129452_excessBorder.doc CPPUNIT_ASSERT_EQUAL_MESSAGE("No bottom border on merged cell", sal_uInt32(0), aBorder.LineWidth); } +DECLARE_OOXMLEXPORT_TEST(testTdf131561_necessaryBorder, "tdf131561_necessaryBorder.docx") +{ + uno::Reference<text::XTextTablesSupplier> xTextTablesSupplier(mxComponent, uno::UNO_QUERY); + uno::Reference<container::XIndexAccess> xTables(xTextTablesSupplier->getTextTables(), uno::UNO_QUERY); + uno::Reference<text::XTextTable> xTable(xTables->getByIndex(0), uno::UNO_QUERY); + + // Hand-crafted pre-emptive test to make sure borders aren't lost. + // MS Word is interesting here. 2/3 of the merged cell has the right border, so what to do? + table::BorderLine2 aBorderR = getProperty<table::BorderLine2>(xTable->getCellByName("A1"), "RightBorder"); + table::BorderLine2 aBorderL = getProperty<table::BorderLine2>(xTable->getCellByName("B1"), "LeftBorder"); + CPPUNIT_ASSERT_MESSAGE("Border between A1 and B1", (aBorderR.LineWidth + aBorderL.LineWidth) > 0); + aBorderR = getProperty<table::BorderLine2>(xTable->getCellByName("A3"), "RightBorder"); + aBorderL = getProperty<table::BorderLine2>(xTable->getCellByName("B3"), "LeftBorder"); + CPPUNIT_ASSERT_MESSAGE("Border between A3 and B3", (aBorderR.LineWidth + aBorderL.LineWidth) > 0); +} + DECLARE_OOXMLEXPORT_TEST(testTdf134063, "tdf134063.docx") { CPPUNIT_ASSERT_EQUAL(2, getPages()); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits