sc/qa/unit/data/ods/tdf151484.ods      |binary
 sc/qa/unit/subsequent_export_test2.cxx |   34 +++++++++++++++++++++++++++++++++
 2 files changed, 34 insertions(+)

New commits:
commit ff0315d7c000bee784b97c385fccaa300210172a
Author:     Xisco Fauli <xiscofa...@libreoffice.org>
AuthorDate: Mon Nov 28 11:13:15 2022 +0100
Commit:     Xisco Fauli <xiscofa...@libreoffice.org>
CommitDate: Mon Nov 28 12:09:18 2022 +0100

    tdf#151484: sc_subsequent_export_test2: Add unittest
    
    Change-Id: Ic2518a6ed00678b83e0b497610eb86a5e99464c4
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143375
    Tested-by: Jenkins
    Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org>

diff --git a/sc/qa/unit/data/ods/tdf151484.ods 
b/sc/qa/unit/data/ods/tdf151484.ods
new file mode 100644
index 000000000000..fe1bb1c331b2
Binary files /dev/null and b/sc/qa/unit/data/ods/tdf151484.ods differ
diff --git a/sc/qa/unit/subsequent_export_test2.cxx 
b/sc/qa/unit/subsequent_export_test2.cxx
index 55c628f1de6b..b3d46d1cdd58 100644
--- a/sc/qa/unit/subsequent_export_test2.cxx
+++ b/sc/qa/unit/subsequent_export_test2.cxx
@@ -138,6 +138,7 @@ public:
     void testRotatedImageODS();
     void testTdf85553();
     void testTdf128976();
+    void testTdf151484();
     void testTdf143979();
     void testTdf120502();
     void testTdf131372();
@@ -262,6 +263,7 @@ public:
     CPPUNIT_TEST(testRotatedImageODS);
     CPPUNIT_TEST(testTdf85553);
     CPPUNIT_TEST(testTdf128976);
+    CPPUNIT_TEST(testTdf151484);
     CPPUNIT_TEST(testTdf143979);
     CPPUNIT_TEST(testTdf120502);
     CPPUNIT_TEST(testTdf131372);
@@ -1573,6 +1575,38 @@ void ScExportTest2::testTdf85553()
     CPPUNIT_ASSERT_EQUAL(OUString("4.5"), pDoc->GetString(ScAddress(2, 2, 0)));
 }
 
+void ScExportTest2::testTdf151484()
+{
+    std::vector<OUString> aFilterNames{ "calc8", "MS Excel 97", "Calc Office 
Open XML" };
+
+    for (size_t i = 0; i < aFilterNames.size(); ++i)
+    {
+        createScDoc("ods/tdf151484.ods");
+
+        const OString sFailedMessage
+            = OString::Concat("Failed on filter: ") + aFilterNames[i].toUtf8();
+
+        saveAndReload(aFilterNames[i]);
+
+        ScDocument* pDoc = getScDoc();
+
+        const ScValidationData* pData = pDoc->GetValidationEntry(1);
+        CPPUNIT_ASSERT(pData);
+
+        std::vector<ScTypedStrData> aList;
+        pData->FillSelectionList(aList, ScAddress(0, 1, 0));
+
+        // Without the fix in place, this test would have failed with
+        // - Expected: 4
+        // - Actual  : 1
+        // - Failed on filter: MS Excel 97
+        CPPUNIT_ASSERT_EQUAL_MESSAGE(sFailedMessage.getStr(), size_t(4), 
aList.size());
+        for (size_t j = 0; j < 4; ++j)
+            CPPUNIT_ASSERT_EQUAL_MESSAGE(sFailedMessage.getStr(), double(j + 
1),
+                                         aList[j].GetValue());
+    }
+}
+
 void ScExportTest2::testTdf143979()
 {
     createScDoc();

Reply via email to