diff --git a/chart2/qa/extras/chart2import.cxx b/chart2/qa/extras/chart2import.cxx index 668c09b45d80..686f8084af74 100644 --- a/chart2/qa/extras/chart2import.cxx +++ b/chart2/qa/extras/chart2import.cxx @@ -19,6 +19,7 @@ #include #include #include +#include #include @@ -67,6 +68,8 @@ public: // where we fixed the handling of MSO 2007 vs OOXML void testAutoTitleDelDefaultValue2007XLSX(); void testAutoTitleDelDefaultValue2013XLSX(); + void testDispBlanksAsDefaultValue2007XLSX(); + void testDispBlanksAsDefaultValue2013XLSX(); CPPUNIT_TEST_SUITE(Chart2ImportTest); CPPUNIT_TEST(Fdo60083); @@ -100,6 +103,8 @@ public: CPPUNIT_TEST(testNumberFormatsXLSX); CPPUNIT_TEST(testAutoTitleDelDefaultValue2007XLSX); CPPUNIT_TEST(testAutoTitleDelDefaultValue2013XLSX); + CPPUNIT_TEST(testDispBlanksAsDefaultValue2007XLSX); + CPPUNIT_TEST(testDispBlanksAsDefaultValue2013XLSX); CPPUNIT_TEST_SUITE_END(); private: @@ -779,6 +784,34 @@ void Chart2ImportTest::testAutoTitleDelDefaultValue2013XLSX() !xTitle.is()); } +void Chart2ImportTest::testDispBlanksAsDefaultValue2007XLSX() +{ + load("/chart2/qa/extras/data/xlsx/", "dispBlanksAs_2007.xlsx"); + Reference xChartDoc = getChartDocFromSheet(0, mxComponent); + CPPUNIT_ASSERT_MESSAGE("failed to load chart", xChartDoc.is()); + + Reference xDiagram(xChartDoc->getFirstDiagram(), UNO_QUERY); + CPPUNIT_ASSERT(xDiagram.is()); + uno::Any aAny = xDiagram->getPropertyValue("MissingValueTreatment"); + sal_Int32 nMissingValueTreatment = -2; + CPPUNIT_ASSERT(aAny >>= nMissingValueTreatment); + CPPUNIT_ASSERT_EQUAL(chart::MissingValueTreatment::LEAVE_GAP, nMissingValueTreatment); +} + +void Chart2ImportTest::testDispBlanksAsDefaultValue2013XLSX() +{ + load("/chart2/qa/extras/data/xlsx/", "dispBlanksAs_2013.xlsx"); + Reference xChartDoc = getChartDocFromSheet(0, mxComponent); + CPPUNIT_ASSERT_MESSAGE("failed to load chart", xChartDoc.is()); + + Reference xDiagram(xChartDoc->getFirstDiagram(), UNO_QUERY); + CPPUNIT_ASSERT(xDiagram.is()); + uno::Any aAny = xDiagram->getPropertyValue("MissingValueTreatment"); + sal_Int32 nMissingValueTreatment = -2; + CPPUNIT_ASSERT(aAny >>= nMissingValueTreatment); + CPPUNIT_ASSERT_EQUAL(chart::MissingValueTreatment::USE_ZERO, nMissingValueTreatment); +} + CPPUNIT_TEST_SUITE_REGISTRATION(Chart2ImportTest); CPPUNIT_PLUGIN_IMPLEMENT(); diff --git a/chart2/qa/extras/data/xlsx/dispBlanksAs_2007.xlsx b/chart2/qa/extras/data/xlsx/dispBlanksAs_2007.xlsx new file mode 100644 index 000000000000..64e673e7c7da Binary files /dev/null and b/chart2/qa/extras/data/xlsx/dispBlanksAs_2007.xlsx differ diff --git a/chart2/qa/extras/data/xlsx/dispBlanksAs_2013.xlsx b/chart2/qa/extras/data/xlsx/dispBlanksAs_2013.xlsx new file mode 100644 index 000000000000..86a0a3596162 Binary files /dev/null and b/chart2/qa/extras/data/xlsx/dispBlanksAs_2013.xlsx differ