chart2/qa/extras/chart2import.cxx | 20 ++++++++++++++++++++ chart2/qa/extras/data/ods/tdf108021.ods |binary chart2/source/view/axes/VCartesianAxis.cxx | 4 +++- sw/qa/extras/layout/data/tdf108021.odt |binary sw/qa/extras/layout/layout.cxx | 20 ++++++++++++++++++++ 5 files changed, 43 insertions(+), 1 deletion(-)
New commits: commit f8d6de19181d749d7c2b345ce7084c0c07fa3eab Author: Balazs Varga <balazs.varga...@gmail.com> AuthorDate: Fri Dec 14 14:38:49 2018 +0100 Commit: Bartosz Kosiorek <gan...@poczta.onet.pl> CommitDate: Tue Dec 18 11:04:40 2018 +0100 tdf#108021 Chart: Fix text break of column chart X axis With this patch the text break is allowed for column chart X axis if the text is rotated with 0, 90 or 270 degree. (The MS Office only allowed the text break of X axis text when the rotation is 0, 90, or 270 degree.) Change-Id: I0914f6208d5a5c0c864dc0227032ef858b044445 Reviewed-on: https://gerrit.libreoffice.org/65165 Tested-by: Jenkins Reviewed-by: Bartosz Kosiorek <gan...@poczta.onet.pl> diff --git a/chart2/qa/extras/chart2import.cxx b/chart2/qa/extras/chart2import.cxx index 64e343c6d639..b8b9a871142a 100644 --- a/chart2/qa/extras/chart2import.cxx +++ b/chart2/qa/extras/chart2import.cxx @@ -69,6 +69,7 @@ public: void testTdf86624(); // manually placed legends void testTdf105517(); void testTdf106217(); + void testTdf108021(); void testAutoBackgroundXLSX(); void testChartAreaStyleBackgroundXLSX(); void testChartHatchFillXLSX(); @@ -151,6 +152,7 @@ public: CPPUNIT_TEST(testTdf86624); CPPUNIT_TEST(testTdf105517); CPPUNIT_TEST(testTdf106217); + CPPUNIT_TEST(testTdf108021); CPPUNIT_TEST(testAutoBackgroundXLSX); CPPUNIT_TEST(testChartAreaStyleBackgroundXLSX); CPPUNIT_TEST(testChartHatchFillXLSX); @@ -853,6 +855,24 @@ void Chart2ImportTest::testTdf106217() CPPUNIT_ASSERT_EQUAL(sal_Int32(2700), aSize.Height); } +void Chart2ImportTest::testTdf108021() +{ + // Tdf108021 : To check TextBreak value is true. + load("/chart2/qa/extras/data/ods/", "tdf108021.ods"); + uno::Reference< chart::XDiagram > mxDiagram; + uno::Reference< beans::XPropertySet > xAxisProp; + bool bTextBreak = false; + uno::Reference< chart::XChartDocument > xChartDoc ( getChartCompFromSheet( 0, mxComponent ), UNO_QUERY_THROW); + mxDiagram.set(xChartDoc->getDiagram()); + CPPUNIT_ASSERT(mxDiagram.is()); + uno::Reference< chart::XAxisXSupplier > xAxisXSupp( mxDiagram, uno::UNO_QUERY ); + CPPUNIT_ASSERT(xAxisXSupp.is()); + xAxisProp = xAxisXSupp->getXAxis(); + xAxisProp->getPropertyValue("TextBreak") >>= bTextBreak; + // Expected value of 'TextBreak' is true + CPPUNIT_ASSERT(bTextBreak); +} + void Chart2ImportTest::testTransparentBackground(OUString const & filename) { load("/chart2/qa/extras/data/xlsx/", filename); diff --git a/chart2/qa/extras/data/ods/tdf108021.ods b/chart2/qa/extras/data/ods/tdf108021.ods new file mode 100755 index 000000000000..ebbc5e56f24f Binary files /dev/null and b/chart2/qa/extras/data/ods/tdf108021.ods differ diff --git a/chart2/source/view/axes/VCartesianAxis.cxx b/chart2/source/view/axes/VCartesianAxis.cxx index 7a025878733b..feaf09027c01 100644 --- a/chart2/source/view/axes/VCartesianAxis.cxx +++ b/chart2/source/view/axes/VCartesianAxis.cxx @@ -521,7 +521,9 @@ bool VCartesianAxis::isBreakOfLabelsAllowed( //no break for value axis if( !m_bUseTextLabels ) return false; - if( rAxisLabelProperties.fRotationAngleDegree != 0.0 ) + if( !( rAxisLabelProperties.fRotationAngleDegree == 0.0 || + rAxisLabelProperties.fRotationAngleDegree == 90.0 || + rAxisLabelProperties.fRotationAngleDegree == 270.0 ) ) return false; //break only for horizontal axis return bIsHorizontalAxis; diff --git a/sw/qa/extras/layout/data/tdf108021.odt b/sw/qa/extras/layout/data/tdf108021.odt new file mode 100755 index 000000000000..39ef6df80d2f Binary files /dev/null and b/sw/qa/extras/layout/data/tdf108021.odt differ diff --git a/sw/qa/extras/layout/layout.cxx b/sw/qa/extras/layout/layout.cxx index 633a31f3b30b..f1c167f2b2e2 100644 --- a/sw/qa/extras/layout/layout.cxx +++ b/sw/qa/extras/layout/layout.cxx @@ -41,6 +41,7 @@ public: void testRedlineCharAttributes(); void testTdf116830(); void testTdf114163(); + void testTdf108021(); void testTdf116925(); void testTdf117028(); void testTdf106390(); @@ -77,6 +78,7 @@ public: CPPUNIT_TEST(testRedlineCharAttributes); CPPUNIT_TEST(testTdf116830); CPPUNIT_TEST(testTdf114163); + CPPUNIT_TEST(testTdf108021); CPPUNIT_TEST(testTdf116925); CPPUNIT_TEST(testTdf117028); CPPUNIT_TEST(testTdf106390); @@ -2323,6 +2325,24 @@ void SwLayoutWriter::testTdf114163() // This failed, if the legend first label is not "Data3". } +void SwLayoutWriter::testTdf108021() +{ + SwDoc* pDoc = createDoc("tdf108021.odt"); + SwDocShell* pShell = pDoc->GetDocShell(); + + // Dump the rendering of the first page as an XML file. + std::shared_ptr<GDIMetaFile> xMetaFile = pShell->GetPreviewMetaFile(); + MetafileXmlDump dumper; + xmlDocPtr pXmlDoc = dumper.dumpAndParse(*xMetaFile); + CPPUNIT_ASSERT(pXmlDoc); + + assertXPath( + pXmlDoc, + "/metafile/push[1]/push[1]/push[1]/push[3]/push[1]/push[1]/push[1]/textarray[@length='17']", + 8); + // This failed, if the textarray length of the first axis label not 17. +} + void SwLayoutWriter::testTdf116925() { SwDoc* pDoc = createDoc("tdf116925.docx"); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits