tdf#158223: chart2_uichart: Add unittest
Change-Id: I11e20682155c524fcc119701111f5bc91f6beed8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160404
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
diff --git a/chart2/qa/extras/data/ods/tdf158223.ods b/chart2/qa/extras/data/ods/tdf158223.ods
new file mode 100644
index 0000000..33a7169
--- /dev/null
+++ b/chart2/qa/extras/data/ods/tdf158223.ods
Binary files differ
diff --git a/chart2/qa/extras/uichart.cxx b/chart2/qa/extras/uichart.cxx
index 229c7f2..314f514 100644
--- a/chart2/qa/extras/uichart.cxx
+++ b/chart2/qa/extras/uichart.cxx
@@ -388,6 +388,54 @@ CPPUNIT_TEST_FIXTURE(Chart2UiChartTest, testCopyPasteChartWithDotInSheetName)
}
}
CPPUNIT_TEST_FIXTURE(Chart2UiChartTest, testTdf158223)
{
loadFromURL(u"ods/tdf158223.ods");
uno::Reference<sheet::XSpreadsheetDocument> xDoc(mxComponent, UNO_QUERY_THROW);
uno::Reference<container::XIndexAccess> xIA(xDoc->getSheets(), UNO_QUERY_THROW);
CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(3), xIA->getCount());
for (sal_Int32 sheetIndex = 0; sheetIndex < 2; ++sheetIndex)
{
OUString sExpectedValuesX("$Tabelle" + OUString::number(sheetIndex + 1) + ".$A$2:$A$11");
OUString sExpectedValuesY("$Tabelle" + OUString::number(sheetIndex + 1) + ".$B$2:$B$11");
uno::Reference<chart2::XChartDocument> xChartDoc
= getChartDocFromSheet(sheetIndex, mxComponent);
Reference<chart2::data::XDataSequence> xValuesX
= getDataSequenceFromDocByRole(xChartDoc, u"values-x");
CPPUNIT_ASSERT_EQUAL(sExpectedValuesX, xValuesX->getSourceRangeRepresentation());
Reference<chart2::data::XDataSequence> xValuesY
= getDataSequenceFromDocByRole(xChartDoc, u"values-y");
CPPUNIT_ASSERT_EQUAL(sExpectedValuesY, xValuesY->getSourceRangeRepresentation());
}
// Remove last sheet
uno::Sequence<beans::PropertyValue> aArgs(
comphelper::InitPropertySequence({ { "Index", uno::Any(sal_uInt16(3)) } }));
dispatchCommand(mxComponent, ".uno:Remove", aArgs);
CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(2), xIA->getCount());
for (sal_Int32 sheetIndex = 0; sheetIndex < 2; ++sheetIndex)
{
OUString sExpectedValuesX("$Tabelle" + OUString::number(sheetIndex + 1) + ".$A$2:$A$11");
OUString sExpectedValuesY("$Tabelle" + OUString::number(sheetIndex + 1) + ".$B$2:$B$11");
uno::Reference<chart2::XChartDocument> xChartDoc
= getChartDocFromSheet(sheetIndex, mxComponent);
Reference<chart2::data::XDataSequence> xValuesX
= getDataSequenceFromDocByRole(xChartDoc, u"values-x");
// Without the fix in place, this test would have failed with
// - Expected: $Tabelle2.$A$2:$A$11
// - Actual : $Tabelle2.$A$2:$Tabelle1.$A$11
CPPUNIT_ASSERT_EQUAL(sExpectedValuesX, xValuesX->getSourceRangeRepresentation());
Reference<chart2::data::XDataSequence> xValuesY
= getDataSequenceFromDocByRole(xChartDoc, u"values-y");
CPPUNIT_ASSERT_EQUAL(sExpectedValuesY, xValuesY->getSourceRangeRepresentation());
}
}
CPPUNIT_PLUGIN_IMPLEMENT();
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */