sc/qa/unit/subsequent_export_test4.cxx | 65 ++++++++++++++++++++++++++++++++ sc/qa/unit/subsequent_filters_test4.cxx | 58 ---------------------------- 2 files changed, 65 insertions(+), 58 deletions(-)
New commits: commit 81268254b69ae1a9acbe52e4aa63910343f4987c Author: Xisco Fauli <xiscofa...@libreoffice.org> AuthorDate: Fri Oct 4 13:10:54 2024 +0200 Commit: Xisco Fauli <xiscofa...@libreoffice.org> CommitDate: Fri Oct 4 16:48:58 2024 +0200 sc: convert import test into export test In preparation for a follow-up patch Change-Id: I3a981d28004e9888b749eb497ef871a9cac658c8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174473 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org> Signed-off-by: Xisco Fauli <xiscofa...@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174487 diff --git a/sc/qa/unit/subsequent_export_test4.cxx b/sc/qa/unit/subsequent_export_test4.cxx index e194568803c0..8983756b6d41 100644 --- a/sc/qa/unit/subsequent_export_test4.cxx +++ b/sc/qa/unit/subsequent_export_test4.cxx @@ -11,6 +11,8 @@ #include "helper/qahelper.hxx" +#include <colorscale.hxx> +#include <fillinfo.hxx> #include <docsh.hxx> #include <scitems.hxx> #include <attrib.hxx> @@ -95,6 +97,69 @@ CPPUNIT_TEST_FIXTURE(ScExportTest4, testCommentTextVAlignment) u"Center"_ustr); } +namespace +{ +void testComplexIconSetsXLSX_Impl(const ScDocument& rDoc, SCCOL nCol, ScIconSetType eType) +{ + ScConditionalFormat* pFormat = rDoc.GetCondFormat(nCol, 1, 0); + CPPUNIT_ASSERT(pFormat); + CPPUNIT_ASSERT_EQUAL(size_t(1), pFormat->size()); + const ScFormatEntry* pEntry = pFormat->GetEntry(0); + CPPUNIT_ASSERT(pEntry); + CPPUNIT_ASSERT_EQUAL(ScFormatEntry::Type::Iconset, pEntry->GetType()); + const ScIconSetFormat* pIconSet = static_cast<const ScIconSetFormat*>(pEntry); + CPPUNIT_ASSERT_EQUAL(eType, pIconSet->GetIconSetData()->eIconSetType); +} + +void testCustomIconSetsXLSX_Impl(const ScDocument& rDoc, SCCOL nCol, SCROW nRow, + ScIconSetType eType, sal_Int32 nIndex) +{ + ScConditionalFormat* pFormat = rDoc.GetCondFormat(nCol, 1, 1); + CPPUNIT_ASSERT(pFormat); + CPPUNIT_ASSERT_EQUAL(size_t(1), pFormat->size()); + const ScFormatEntry* pEntry = pFormat->GetEntry(0); + CPPUNIT_ASSERT(pEntry); + CPPUNIT_ASSERT_EQUAL(ScFormatEntry::Type::Iconset, pEntry->GetType()); + const ScIconSetFormat* pIconSet = static_cast<const ScIconSetFormat*>(pEntry); + std::unique_ptr<ScIconSetInfo> pInfo(pIconSet->GetIconSetInfo(ScAddress(nCol, nRow, 1))); + if (nIndex == -1) + CPPUNIT_ASSERT(!pInfo); + else + { + CPPUNIT_ASSERT(pInfo); + CPPUNIT_ASSERT_EQUAL(nIndex, pInfo->nIconIndex); + CPPUNIT_ASSERT_EQUAL(eType, pInfo->eIconSetType); + } +} +} + +CPPUNIT_TEST_FIXTURE(ScExportTest4, testComplexIconSetsXLSX) +{ + auto verify = [this]() { + ScDocument* pDoc = getScDoc(); + CPPUNIT_ASSERT_EQUAL(size_t(3), pDoc->GetCondFormList(0)->size()); + testComplexIconSetsXLSX_Impl(*pDoc, 1, IconSet_3Triangles); + testComplexIconSetsXLSX_Impl(*pDoc, 3, IconSet_3Stars); + testComplexIconSetsXLSX_Impl(*pDoc, 5, IconSet_5Boxes); + + CPPUNIT_ASSERT_EQUAL(size_t(2), pDoc->GetCondFormList(1)->size()); + testCustomIconSetsXLSX_Impl(*pDoc, 1, 1, IconSet_3ArrowsGray, 0); + testCustomIconSetsXLSX_Impl(*pDoc, 1, 2, IconSet_3ArrowsGray, -1); + testCustomIconSetsXLSX_Impl(*pDoc, 1, 3, IconSet_3Arrows, 1); + testCustomIconSetsXLSX_Impl(*pDoc, 1, 4, IconSet_3ArrowsGray, -1); + testCustomIconSetsXLSX_Impl(*pDoc, 1, 5, IconSet_3Arrows, 2); + + testCustomIconSetsXLSX_Impl(*pDoc, 3, 1, IconSet_4RedToBlack, 3); + testCustomIconSetsXLSX_Impl(*pDoc, 3, 2, IconSet_3TrafficLights1, 1); + testCustomIconSetsXLSX_Impl(*pDoc, 3, 3, IconSet_3Arrows, 2); + }; + + createScDoc("xlsx/complex_icon_set.xlsx"); + verify(); + saveAndReload(u"Calc Office Open XML"_ustr); + verify(); +} + CPPUNIT_TEST_FIXTURE(ScExportTest4, testCommentTextHAlignment) { // Testing comment text alignments. diff --git a/sc/qa/unit/subsequent_filters_test4.cxx b/sc/qa/unit/subsequent_filters_test4.cxx index d016ebbb8b01..caf29b9f9c03 100644 --- a/sc/qa/unit/subsequent_filters_test4.cxx +++ b/sc/qa/unit/subsequent_filters_test4.cxx @@ -860,64 +860,6 @@ CPPUNIT_TEST_FIXTURE(ScFiltersTest4, testCondFormatThemeColor3XLSX) checkDatabarPositiveColor(pFormat, Color(217, 217, 217)); } -namespace -{ -void testComplexIconSetsXLSX_Impl(const ScDocument& rDoc, SCCOL nCol, ScIconSetType eType) -{ - ScConditionalFormat* pFormat = rDoc.GetCondFormat(nCol, 1, 0); - CPPUNIT_ASSERT(pFormat); - CPPUNIT_ASSERT_EQUAL(size_t(1), pFormat->size()); - const ScFormatEntry* pEntry = pFormat->GetEntry(0); - CPPUNIT_ASSERT(pEntry); - CPPUNIT_ASSERT_EQUAL(ScFormatEntry::Type::Iconset, pEntry->GetType()); - const ScIconSetFormat* pIconSet = static_cast<const ScIconSetFormat*>(pEntry); - CPPUNIT_ASSERT_EQUAL(eType, pIconSet->GetIconSetData()->eIconSetType); -} - -void testCustomIconSetsXLSX_Impl(const ScDocument& rDoc, SCCOL nCol, SCROW nRow, - ScIconSetType eType, sal_Int32 nIndex) -{ - ScConditionalFormat* pFormat = rDoc.GetCondFormat(nCol, 1, 1); - CPPUNIT_ASSERT(pFormat); - CPPUNIT_ASSERT_EQUAL(size_t(1), pFormat->size()); - const ScFormatEntry* pEntry = pFormat->GetEntry(0); - CPPUNIT_ASSERT(pEntry); - CPPUNIT_ASSERT_EQUAL(ScFormatEntry::Type::Iconset, pEntry->GetType()); - const ScIconSetFormat* pIconSet = static_cast<const ScIconSetFormat*>(pEntry); - std::unique_ptr<ScIconSetInfo> pInfo(pIconSet->GetIconSetInfo(ScAddress(nCol, nRow, 1))); - if (nIndex == -1) - CPPUNIT_ASSERT(!pInfo); - else - { - CPPUNIT_ASSERT(pInfo); - CPPUNIT_ASSERT_EQUAL(nIndex, pInfo->nIconIndex); - CPPUNIT_ASSERT_EQUAL(eType, pInfo->eIconSetType); - } -} -} - -CPPUNIT_TEST_FIXTURE(ScFiltersTest4, testComplexIconSetsXLSX) -{ - createScDoc("xlsx/complex_icon_set.xlsx"); - - ScDocument* pDoc = getScDoc(); - CPPUNIT_ASSERT_EQUAL(size_t(3), pDoc->GetCondFormList(0)->size()); - testComplexIconSetsXLSX_Impl(*pDoc, 1, IconSet_3Triangles); - testComplexIconSetsXLSX_Impl(*pDoc, 3, IconSet_3Stars); - testComplexIconSetsXLSX_Impl(*pDoc, 5, IconSet_5Boxes); - - CPPUNIT_ASSERT_EQUAL(size_t(2), pDoc->GetCondFormList(1)->size()); - testCustomIconSetsXLSX_Impl(*pDoc, 1, 1, IconSet_3ArrowsGray, 0); - testCustomIconSetsXLSX_Impl(*pDoc, 1, 2, IconSet_3ArrowsGray, -1); - testCustomIconSetsXLSX_Impl(*pDoc, 1, 3, IconSet_3Arrows, 1); - testCustomIconSetsXLSX_Impl(*pDoc, 1, 4, IconSet_3ArrowsGray, -1); - testCustomIconSetsXLSX_Impl(*pDoc, 1, 5, IconSet_3Arrows, 2); - - testCustomIconSetsXLSX_Impl(*pDoc, 3, 1, IconSet_4RedToBlack, 3); - testCustomIconSetsXLSX_Impl(*pDoc, 3, 2, IconSet_3TrafficLights1, 1); - testCustomIconSetsXLSX_Impl(*pDoc, 3, 3, IconSet_3Arrows, 2); -} - CPPUNIT_TEST_FIXTURE(ScFiltersTest4, testTdf101104) { createScDoc("ods/tdf101104.ods");