diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2018-05-08 09:06:26 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2018-05-08 11:06:10 +0200 |
commit | 42b32321381126ad70700424b8970dbc45a843f5 (patch) | |
tree | 2ac95210df27246f2edca19d3b3cac749c6232be /sw/qa | |
parent | 00f45dcf550a5ebdeb087f84eb489123fbee35f6 (diff) |
tdf#117403 RTF import: fix lost cell border of merged cell
If two source cells have different border types, then Writer takes the
second, Word takes the first. So mimic the MSO behavior explicitly in
dmapper.
Change-Id: I25adc62e024a929216c7b05fec44e1f602f28285
Reviewed-on: https://gerrit.libreoffice.org/53956
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
Diffstat (limited to 'sw/qa')
-rw-r--r-- | sw/qa/extras/rtfimport/data/tdf117403.rtf | 15 | ||||
-rw-r--r-- | sw/qa/extras/rtfimport/rtfimport.cxx | 14 |
2 files changed, 29 insertions, 0 deletions
diff --git a/sw/qa/extras/rtfimport/data/tdf117403.rtf b/sw/qa/extras/rtfimport/data/tdf117403.rtf new file mode 100644 index 000000000000..243fe548c246 --- /dev/null +++ b/sw/qa/extras/rtfimport/data/tdf117403.rtf @@ -0,0 +1,15 @@ +{\rtf\ansi\ansicpg1252\deff2 +{\fonttbl +{\f0\fcharset238\froman Tms Rmn;} +{\f1\fdecor Symbol;} +{\f2\fcharset238\fswiss Helv;} +{\f3\fcharset238\fmodern Courier New;} +} +\sectd +\pgwsxn16837\pghsxn11905\marglsxn400\margrsxn400\margtsxn801\margbsxn801\lndscpsxn\plain\fs20\pard\qc +\pard\pard +\par +\trowd\clmgf\clbrdrb\brdrs\brdrw1\cellx1764\clmrg\cellx2325 +\pard\intbl \qc \fs12 A1\cell +\pard\intbl \cell +\row \pard \par} diff --git a/sw/qa/extras/rtfimport/rtfimport.cxx b/sw/qa/extras/rtfimport/rtfimport.cxx index 457aedce0acb..a92c2782b933 100644 --- a/sw/qa/extras/rtfimport/rtfimport.cxx +++ b/sw/qa/extras/rtfimport/rtfimport.cxx @@ -1292,6 +1292,20 @@ DECLARE_RTFIMPORT_TEST(testTdf78506, "tdf78506.rtf") } } +DECLARE_RTFIMPORT_TEST(testTdf117403, "tdf117403.rtf") +{ + 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); + uno::Reference<text::XTextRange> xCell(xTable->getCellByName("A1"), uno::UNO_QUERY); + CPPUNIT_ASSERT(xCell.is()); + table::BorderLine2 aExpected(static_cast<sal_Int32>(COL_BLACK), 0, 4, 0, + table::BorderLineStyle::SOLID, 4); + // This failed, border was not imported, OuterLineWidth was 0 instead of 4. + CPPUNIT_ASSERT_BORDER_EQUAL(aExpected, getProperty<table::BorderLine2>(xCell, "BottomBorder")); +} + DECLARE_RTFIMPORT_TEST(testImportHeaderFooter, "tdf108055.rtf") { // The RTF import sometimes added Header and Footer multiple Times |