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: */

Reply via email to