diff options
-rw-r--r-- | chart2/qa/extras/chart2export.cxx | 17 | ||||
-rw-r--r-- | chart2/qa/extras/data/xlsx/tdf142351.xlsx | bin | 0 -> 15077 bytes | |||
-rw-r--r-- | oox/source/drawingml/chart/axisconverter.cxx | 4 |
3 files changed, 16 insertions, 5 deletions
diff --git a/chart2/qa/extras/chart2export.cxx b/chart2/qa/extras/chart2export.cxx index 89dcdeb529fd..608905e59328 100644 --- a/chart2/qa/extras/chart2export.cxx +++ b/chart2/qa/extras/chart2export.cxx @@ -531,10 +531,21 @@ void Chart2ExportTest::testBarChart() void Chart2ExportTest::testCrosses() { - load(u"/chart2/qa/extras/data/docx/", "Bar_horizontal_cone.docx"); - xmlDocUniquePtr pXmlDoc = parseExport("word/charts/chart", "Office Open XML Text"); + // test crosses val="autoZero" with DOCX + { + load(u"/chart2/qa/extras/data/docx/", "Bar_horizontal_cone.docx"); + xmlDocUniquePtr pXmlDoc = parseExport("word/charts/chart", "Office Open XML Text"); + + assertXPath(pXmlDoc, "/c:chartSpace/c:chart/c:plotArea/c:catAx/c:crosses", "val", "autoZero"); + } + // tdf#142351: test crossesAt val="-50" with XLSX + { + load(u"/chart2/qa/extras/data/xlsx/", "tdf142351.xlsx"); + xmlDocUniquePtr pXmlDoc = parseExport("xl/charts/chart", "Calc Office Open XML"); + CPPUNIT_ASSERT(pXmlDoc); - assertXPath(pXmlDoc, "/c:chartSpace/c:chart/c:plotArea/c:catAx/c:crosses", "val", "autoZero"); + assertXPath(pXmlDoc, "/c:chartSpace/c:chart/c:plotArea/c:catAx/c:crossesAt", "val", "-50"); + } } void Chart2ExportTest::testScatterChartTextXValues() diff --git a/chart2/qa/extras/data/xlsx/tdf142351.xlsx b/chart2/qa/extras/data/xlsx/tdf142351.xlsx Binary files differnew file mode 100644 index 000000000000..0414bb3f1625 --- /dev/null +++ b/chart2/qa/extras/data/xlsx/tdf142351.xlsx diff --git a/oox/source/drawingml/chart/axisconverter.cxx b/oox/source/drawingml/chart/axisconverter.cxx index 7aa141c0f798..4620f5b5a15c 100644 --- a/oox/source/drawingml/chart/axisconverter.cxx +++ b/oox/source/drawingml/chart/axisconverter.cxx @@ -372,8 +372,8 @@ void AxisConverter::convertFromModel(const Reference<XCoordinateSystem>& rxCoord case XML_max: eAxisPos = cssc::ChartAxisPosition_END; break; case XML_autoZero: eAxisPos = cssc::ChartAxisPosition_ZERO; break; } - if( !mrModel.mbAuto ) - aAxisProp.setProperty( PROP_CrossoverPosition, eAxisPos ); + + aAxisProp.setProperty( PROP_CrossoverPosition, eAxisPos ); // calculate automatic origin depending on scaling mode of crossing axis bool bCrossingLogScale = pCrossingAxis && lclIsLogarithmicScale( *pCrossingAxis ); |