sw/qa/extras/odfexport/data/border_types.odt |binary sw/qa/extras/odfexport/odfexport.cxx | 34 +++++++++++++++++++++++++++ sw/qa/extras/odfimport/odfimport.cxx | 17 +++---------- sw/source/filter/xml/xmlexpit.cxx | 12 +++++++++ sw/source/filter/xml/xmlithlp.cxx | 10 +++++++ 5 files changed, 59 insertions(+), 14 deletions(-)
New commits: commit ac84e4ff6135d51461122e0e1b5b39614b3e6eca Author: Oliver Specht <[email protected]> Date: Fri Sep 11 12:28:10 2015 +0200 tdf#94011: load&save more border types supported dash_dot, dash_dot_dot and double_thin border types added export test enabled odf import tests on Windows except for testFdo37606Copy because it fails Change-Id: Ia9c7a030956326b33e9f07eaa57c11aaa8e0a6fd Reviewed-on: https://gerrit.libreoffice.org/18495 Tested-by: Jenkins <[email protected]> Reviewed-by: Oliver Specht <[email protected]> diff --git a/sw/qa/extras/odfexport/data/border_types.odt b/sw/qa/extras/odfexport/data/border_types.odt new file mode 100755 index 0000000..97b7243 Binary files /dev/null and b/sw/qa/extras/odfexport/data/border_types.odt differ diff --git a/sw/qa/extras/odfexport/odfexport.cxx b/sw/qa/extras/odfexport/odfexport.cxx index bfb24d1..7ab88cc 100644 --- a/sw/qa/extras/odfexport/odfexport.cxx +++ b/sw/qa/extras/odfexport/odfexport.cxx @@ -16,6 +16,7 @@ #include <com/sun/star/container/XIndexReplace.hpp> #include <com/sun/star/drawing/FillStyle.hpp> #include <com/sun/star/table/ShadowFormat.hpp> +#include <com/sun/star/table/XCellRange.hpp> #include <com/sun/star/text/RelOrientation.hpp> #include <com/sun/star/text/XDocumentIndex.hpp> #include <com/sun/star/drawing/TextVerticalAdjust.hpp> @@ -706,6 +707,39 @@ DECLARE_ODFEXPORT_TEST(testGerrit13858, "gerrit13858.odt") { // Just make sure the output is valid. } +DECLARE_ODFEXPORT_TEST(testOdtBorderTypes, "border_types.odt") +{ + static const sal_Int32 lineStyles[] = { 0, 1, 2, 14, 16, 17, 3, 15 }; + uno::Reference<text::XTextDocument> textDocument(mxComponent, uno::UNO_QUERY); + uno::Reference<container::XEnumerationAccess> xParaEnumAccess(textDocument->getText(), uno::UNO_QUERY); + // list of paragraphs + uno::Reference<container::XEnumeration> xParaEnum = xParaEnumAccess->createEnumeration(); + do + { + uno::Reference<lang::XServiceInfo> xServiceInfo; + if (xParaEnum->nextElement() >>= xServiceInfo) + { + if (xServiceInfo->supportsService("com.sun.star.text.TextTable")) + { + uno::Reference<table::XCellRange> const xCellRange(xServiceInfo, uno::UNO_QUERY_THROW); + + for (sal_Int32 row = 0; row < 15; row += 2) + { + uno::Reference<table::XCell> xCell = xCellRange->getCellByPosition(1, row); + uno::Reference< beans::XPropertySet > xPropSet(xCell, uno::UNO_QUERY_THROW); + + uno::Any aTopBorder = xPropSet->getPropertyValue("TopBorder"); + table::BorderLine2 aTopBorderLine; + if (aTopBorder >>= aTopBorderLine) + { + sal_Int32 lineStyle = aTopBorderLine.LineStyle; + CPPUNIT_ASSERT_EQUAL(lineStyles[row / 2], lineStyle); + } + } //end of the 'for' loop + } + } + } while (xParaEnum->hasMoreElements()); +} #endif diff --git a/sw/qa/extras/odfimport/odfimport.cxx b/sw/qa/extras/odfimport/odfimport.cxx index 2f8239c..3e06930 100644 --- a/sw/qa/extras/odfimport/odfimport.cxx +++ b/sw/qa/extras/odfimport/odfimport.cxx @@ -9,14 +9,14 @@ #include <swmodeltestbase.hxx> -#if !defined(WNT) - #include <com/sun/star/awt/FontWeight.hpp> #include <com/sun/star/drawing/FillStyle.hpp> #include <com/sun/star/drawing/BitmapMode.hpp> #include <com/sun/star/style/PageStyleLayout.hpp> #include <com/sun/star/table/XCell.hpp> +#include <com/sun/star/table/XCellRange.hpp> #include <com/sun/star/table/BorderLine.hpp> +#include <com/sun/star/table/BorderLine2.hpp> #include <com/sun/star/text/XTextSection.hpp> #include <com/sun/star/text/XTextTable.hpp> #include <com/sun/star/text/PageNumberType.hpp> @@ -498,7 +498,7 @@ DECLARE_ODFIMPORT_TEST(testFdo37606, "fdo37606.odt") CPPUNIT_ASSERT(!pContentNode->FindTableNode()); } } - +#if !defined(WNT) DECLARE_ODFIMPORT_TEST(testFdo37606Copy, "fdo37606.odt") { SwXTextDocument* pTextDoc = dynamic_cast<SwXTextDocument *>(mxComponent.get()); @@ -527,7 +527,7 @@ DECLARE_ODFIMPORT_TEST(testFdo37606Copy, "fdo37606.odt") CPPUNIT_ASSERT_EQUAL(sal_Int32(2), xTables->getCount()); #endif } - +#endif //WNT DECLARE_ODFIMPORT_TEST(testFdo69862, "fdo69862.odt") { // The test doc is special in that it starts with a table and it also has a footnote. @@ -631,14 +631,5 @@ DECLARE_ODFIMPORT_TEST(testBnc800714, "bnc800714.fodt") CPPUNIT_ASSERT(getProperty<bool>(getParagraph(2), "ParaKeepTogether")); } -DECLARE_ODFIMPORT_TEST(testTdf92586, "tdf92586.odt") -{ - uno::Reference<beans::XPropertySet> xPageStyle(getStyles("PageStyles")->getByName("Standard"), uno::UNO_QUERY); - // This was BitmapMode_NO_REPEAT. - CPPUNIT_ASSERT_EQUAL(drawing::BitmapMode_STRETCH, getProperty<drawing::BitmapMode>(xPageStyle, "FillBitmapMode")); -} - -#endif - CPPUNIT_PLUGIN_IMPLEMENT(); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sw/source/filter/xml/xmlexpit.cxx b/sw/source/filter/xml/xmlexpit.cxx index f1a9a2c..6a74e1b 100644 --- a/sw/source/filter/xml/xmlexpit.cxx +++ b/sw/source/filter/xml/xmlexpit.cxx @@ -744,6 +744,18 @@ bool SvXMLExportItemMapper::QueryXMLValue( case table::BorderLineStyle::DASHED: eStyle = XML_DASHED; break; + case table::BorderLineStyle::FINE_DASHED: + eStyle = XML_FINE_DASHED; + break; + case table::BorderLineStyle::DASH_DOT: + eStyle = XML_DASH_DOT; + break; + case table::BorderLineStyle::DASH_DOT_DOT: + eStyle = XML_DASH_DOT_DOT; + break; + case table::BorderLineStyle::DOUBLE_THIN: + eStyle = XML_DOUBLE_THIN; + break; case table::BorderLineStyle::DOUBLE: case table::BorderLineStyle::THINTHICK_SMALLGAP: case table::BorderLineStyle::THINTHICK_MEDIUMGAP: diff --git a/sw/source/filter/xml/xmlithlp.cxx b/sw/source/filter/xml/xmlithlp.cxx index d97fd0f..2ad46ab 100644 --- a/sw/source/filter/xml/xmlithlp.cxx +++ b/sw/source/filter/xml/xmlithlp.cxx @@ -49,6 +49,10 @@ using namespace ::com::sun::star; #define API_LINE_ENGRAVED 11 #define API_LINE_OUTSET 12 #define API_LINE_INSET 13 +#define API_LINE_FINE_DASHED table::BorderLineStyle::FINE_DASHED +#define API_LINE_DASH_DOT table::BorderLineStyle::DASH_DOT +#define API_LINE_DASH_DOT_DOT table::BorderLineStyle::DASH_DOT_DOT +#define API_LINE_DOUBLE_THIN table::BorderLineStyle::DOUBLE_THIN #define SVX_XML_BORDER_WIDTH_THIN 0 #define SVX_XML_BORDER_WIDTH_MIDDLE 1 @@ -60,9 +64,13 @@ const struct SvXMLEnumMapEntry psXML_BorderStyles[] = { XML_HIDDEN, API_LINE_NONE }, { XML_SOLID, API_LINE_SOLID }, { XML_DOUBLE, API_LINE_DOUBLE }, + { XML_DOUBLE_THIN, API_LINE_DOUBLE_THIN }, { XML_DOTTED, API_LINE_DOTTED }, { XML_DASHED, API_LINE_DASHED }, - { XML_GROOVE, API_LINE_ENGRAVED }, + { XML_FINE_DASHED, API_LINE_FINE_DASHED }, + { XML_DASH_DOT, API_LINE_DASH_DOT }, + { XML_DASH_DOT_DOT, API_LINE_DASH_DOT_DOT }, + { XML_GROOVE, API_LINE_ENGRAVED }, { XML_RIDGE, API_LINE_EMBOSSED }, { XML_INSET, API_LINE_INSET }, { XML_OUTSET, API_LINE_OUTSET }, _______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
