summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorXisco Fauli <xiscofauli@libreoffice.org>2022-11-28 11:13:15 +0100
committerXisco Fauli <xiscofauli@libreoffice.org>2022-11-28 12:09:18 +0100
commitff0315d7c000bee784b97c385fccaa300210172a (patch)
tree3630b79443683e7d65961445740e16bec23b0017 /sc
parent03b5ef45ae3485e055bbbf44532835a5f8868b8e (diff)
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 <xiscofauli@libreoffice.org>
Diffstat (limited to 'sc')
-rw-r--r--sc/qa/unit/data/ods/tdf151484.odsbin0 -> 7966 bytes
-rw-r--r--sc/qa/unit/subsequent_export_test2.cxx34
2 files changed, 34 insertions, 0 deletions
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
--- /dev/null
+++ b/sc/qa/unit/data/ods/tdf151484.ods
Binary files 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();