sc/qa/unit/ucalc.cxx | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+)
New commits: commit 7f326714ffbed94a4107b1e896898c1be89ca938 Author: Xisco Fauli <xiscofa...@libreoffice.org> AuthorDate: Thu Nov 18 18:19:47 2021 +0100 Commit: Xisco Fauli <xiscofa...@libreoffice.org> CommitDate: Thu Nov 18 19:23:53 2021 +0100 tdf#76836: sc_ucalc: Add unittest Change-Id: I62d4325dcaee19188529bb749801dc945c060572 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125487 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org> diff --git a/sc/qa/unit/ucalc.cxx b/sc/qa/unit/ucalc.cxx index cc101bfe2253..32a53aa25649 100644 --- a/sc/qa/unit/ucalc.cxx +++ b/sc/qa/unit/ucalc.cxx @@ -169,6 +169,7 @@ public: void testDataArea(); void testAutofilter(); void testAutoFilterTimeValue(); + void testTdf76836(); void testTdf76441(); void testTdf142186(); void testTdf137063(); @@ -292,6 +293,7 @@ public: CPPUNIT_TEST(testToggleRefFlag); CPPUNIT_TEST(testAutofilter); CPPUNIT_TEST(testAutoFilterTimeValue); + CPPUNIT_TEST(testTdf76836); CPPUNIT_TEST(testTdf76441); CPPUNIT_TEST(testTdf142186); CPPUNIT_TEST(testTdf137063); @@ -3579,6 +3581,36 @@ void Test::testTdf76441() m_pDoc->DeleteTab(0); } +void Test::testTdf76836() +{ + m_pDoc->InsertTab(0, "Test"); + + OUString aCode = "\"192.168.0.\"@"; + sal_Int32 nCheckPos; + SvNumFormatType nType; + sal_uInt32 nFormat; + SvNumberFormatter* pFormatter = m_pDoc->GetFormatTable(); + pFormatter->PutEntry( aCode, nCheckPos, nType, nFormat ); + + ScPatternAttr aNewAttrs(m_pDoc->GetPool()); + SfxItemSet& rSet = aNewAttrs.GetItemSet(); + rSet.Put(SfxUInt32Item(ATTR_VALUE_FORMAT, nFormat)); + + m_pDoc->ApplyPattern(0, 0, 0, aNewAttrs); + m_pDoc->SetValue(0,0,0, 10.0); + + // Without the fix in place, this test would have failed with + // - Expected: 10 + // - Actual : 192.168.0.10 + CPPUNIT_ASSERT_EQUAL(OUString("10"), m_pDoc->GetString(ScAddress(0,0,0))); + + m_pDoc->ApplyPattern(0, 1, 0, aNewAttrs); + m_pDoc->SetString(ScAddress(0,1,0), "10"); + CPPUNIT_ASSERT_EQUAL(OUString("192.168.0.10"), m_pDoc->GetString(ScAddress(0,1,0))); + + m_pDoc->DeleteTab(0); +} + void Test::testTdf142186() { m_pDoc->InsertTab(0, "Test");