sc/qa/unit/subsequent_export_test.cxx |   31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

New commits:
commit 17bc207d3054b4cbecb56b4d1195c73db203f21f
Author:     Paris Oplopoios <paris.oplopo...@collabora.com>
AuthorDate: Thu Oct 26 14:28:06 2023 +0300
Commit:     Paris Oplopoios <parisop...@gmail.com>
CommitDate: Sun Oct 29 01:04:53 2023 +0200

    sc: Test numeric conditional format text rule exports correctly
    
    Change-Id: Ib57ea44912b4cb0be7cbdb127dd7ea6f08ec8392
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158540
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com>
    Reviewed-by: Paris Oplopoios <parisop...@gmail.com>

diff --git a/sc/qa/unit/subsequent_export_test.cxx 
b/sc/qa/unit/subsequent_export_test.cxx
index cbbc99de69d8..d3927c136677 100644
--- a/sc/qa/unit/subsequent_export_test.cxx
+++ b/sc/qa/unit/subsequent_export_test.cxx
@@ -2402,6 +2402,37 @@ void ScExportTest::testSheetProtectionXLSB()
     
CPPUNIT_ASSERT(!pTabProtect->isOptionEnabled(ScTableProtection::SELECT_LOCKED_CELLS));
 }
 
+CPPUNIT_TEST_FIXTURE(ScExportTest, testConditionalFormatNumberInTextRule)
+{
+    createScDoc();
+
+    ScDocument* pDocument = getScDoc();
+    ScAddress aAddress(0, 0, 0);
+
+    auto pFormat = std::make_unique<ScConditionalFormat>(0, pDocument);
+    ScRange aCondFormatRange(aAddress);
+    ScRangeList aRangeList(aCondFormatRange);
+    pFormat->SetRange(aRangeList);
+    ScCondFormatEntry* pEntry
+        = new ScCondFormatEntry(ScConditionMode::BeginsWith, "15", "", 
*pDocument, aAddress, "");
+    pFormat->AddEntry(pEntry);
+    pDocument->AddCondFormat(std::move(pFormat), 0);
+
+    saveAndReload("Calc Office Open XML");
+    pDocument = getScDoc();
+
+    ScConditionalFormat* pCondFormat = pDocument->GetCondFormat(0, 0, 0);
+    CPPUNIT_ASSERT(pCondFormat);
+    CPPUNIT_ASSERT_EQUAL(size_t(1), pCondFormat->size());
+    const ScFormatEntry* pCondFormatEntry = pCondFormat->GetEntry(0);
+    CPPUNIT_ASSERT(pCondFormatEntry);
+    CPPUNIT_ASSERT_EQUAL(ScFormatEntry::Type::Condition, 
pCondFormatEntry->GetType());
+    const ScConditionEntry* pConditionEntry
+        = static_cast<const ScConditionEntry*>(pCondFormatEntry);
+    CPPUNIT_ASSERT_EQUAL(ScConditionMode::BeginsWith, 
pConditionEntry->GetOperation());
+    CPPUNIT_ASSERT_EQUAL(OUString("\"15\""), 
pConditionEntry->GetExpression(aAddress, 0));
+}
+
 namespace
 {
 const char* toBorderName(SvxBorderLineStyle eStyle)

Reply via email to