chart2/qa/extras/data/ods/tdf151091.ods |binary chart2/qa/extras/uichart.cxx | 42 ++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+)
New commits: commit 2f4e1180b3a616c234d0de7db8cea7c682777243 Author: Xisco Fauli <xiscofa...@libreoffice.org> AuthorDate: Mon Nov 28 12:58:19 2022 +0100 Commit: Xisco Fauli <xiscofa...@libreoffice.org> CommitDate: Mon Nov 28 14:13:15 2022 +0100 tdf#151091: chart2_uichart: Add unittest Change-Id: I6d162307a32d18711908c1681c63c945574ba904 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143381 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org> diff --git a/chart2/qa/extras/data/ods/tdf151091.ods b/chart2/qa/extras/data/ods/tdf151091.ods new file mode 100644 index 000000000000..b3a43b3ceac8 Binary files /dev/null and b/chart2/qa/extras/data/ods/tdf151091.ods differ diff --git a/chart2/qa/extras/uichart.cxx b/chart2/qa/extras/uichart.cxx index b6e2cb417643..19cd9fc3662f 100644 --- a/chart2/qa/extras/uichart.cxx +++ b/chart2/qa/extras/uichart.cxx @@ -103,6 +103,48 @@ CPPUNIT_TEST_FIXTURE(Chart2UiChartTest, testTdf120348) } } +CPPUNIT_TEST_FIXTURE(Chart2UiChartTest, testTdf151091) +{ + std::vector<OUString> aExpected + = { u"Ωφέλιμο", u"Επικίνδυνο", u"Απόσταση", u"Μάσκα", u"Εμβόλιο" }; + + loadFromURL(u"ods/tdf151091.ods"); + uno::Reference<chart::XChartDocument> xChartDoc(getChartCompFromSheet(0, mxComponent), + uno::UNO_QUERY_THROW); + CPPUNIT_ASSERT(xChartDoc.is()); + uno::Reference<chart::XChartDataArray> xChartData(xChartDoc->getData(), uno::UNO_QUERY_THROW); + uno::Sequence<OUString> aSeriesList = xChartData->getColumnDescriptions(); + CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(5), aSeriesList.getLength()); + + for (size_t i = 0; i < 5; ++i) + CPPUNIT_ASSERT_EQUAL(aExpected[i], aSeriesList[i]); + + uno::Sequence<beans::PropertyValue> aPropertyValues = { + comphelper::makePropertyValue("ToObject", OUString("Object 1")), + }; + dispatchCommand(mxComponent, ".uno:GoToObject", aPropertyValues); + Scheduler::ProcessEventsToIdle(); + + dispatchCommand(mxComponent, ".uno:Copy", {}); + Scheduler::ProcessEventsToIdle(); + + // create a new writer document + load("private:factory/swriter"); + + dispatchCommand(mxComponent, ".uno:Paste", {}); + Scheduler::ProcessEventsToIdle(); + + aSeriesList = getWriterChartColumnDescriptions(mxComponent); + + // Without the fix in place, this test would have failed with + // - Expected: 5 + // - Actual : 1 + CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(5), aSeriesList.getLength()); + + for (size_t i = 0; i < 5; ++i) + CPPUNIT_ASSERT_EQUAL(aExpected[i], aSeriesList[i]); +} + CPPUNIT_PLUGIN_IMPLEMENT(); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */