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();