summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorXisco Fauli <xiscofauli@libreoffice.org>2020-08-07 11:41:00 +0200
committerXisco Fauli <xiscofauli@libreoffice.org>2020-08-07 21:06:32 +0200
commitb02d05f460fb43424d4288969ea826afc06b66e5 (patch)
tree35a621a02d70907b9d314f19104bb015311bbe1f /sc
parent9c894db4a32fd6f2c50202c7769fa86ba1bd5247 (diff)
tdf#135249: sc_ucalc: Add unittest
Change-Id: Iddaf35d0b0afa44f081db2a1ac4f29567876f967 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100300 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Diffstat (limited to 'sc')
-rw-r--r--sc/qa/unit/ucalc.cxx27
-rw-r--r--sc/qa/unit/ucalc.hxx2
2 files changed, 29 insertions, 0 deletions
diff --git a/sc/qa/unit/ucalc.cxx b/sc/qa/unit/ucalc.cxx
index eb9636caaea1..6cd9a5db7ba0 100644
--- a/sc/qa/unit/ucalc.cxx
+++ b/sc/qa/unit/ucalc.cxx
@@ -456,6 +456,33 @@ void Test::testColumnIterator() // tdf#118620
m_pDoc->DeleteTab(0);
}
+void Test::testTdf135249()
+{
+ CPPUNIT_ASSERT(m_pDoc->InsertTab (0, "Test"));
+
+ m_pDoc->SetString(ScAddress(0,0,0), "1:60");
+ m_pDoc->SetString(ScAddress(0,1,0), "1:123");
+ m_pDoc->SetString(ScAddress(0,2,0), "1:1:123");
+ m_pDoc->SetString(ScAddress(0,3,0), "0:123");
+ m_pDoc->SetString(ScAddress(0,4,0), "0:0:123");
+ m_pDoc->SetString(ScAddress(0,5,0), "0:123:59");
+
+ // These are not valid duration inputs
+ CPPUNIT_ASSERT_EQUAL(OUString("1:60"), m_pDoc->GetString(ScAddress(0,0,0)));
+ CPPUNIT_ASSERT_EQUAL(OUString("1:123"), m_pDoc->GetString(ScAddress(0,1,0)));
+ CPPUNIT_ASSERT_EQUAL(OUString("1:1:123"), m_pDoc->GetString(ScAddress(0,2,0)));
+
+ // These are valid duration inputs
+ // Without the fix in place, this test would have failed with
+ // - Expected: 02:03:00 AM
+ // - Actual : 0:123
+ CPPUNIT_ASSERT_EQUAL(OUString("02:03:00 AM"), m_pDoc->GetString(ScAddress(0,3,0)));
+ CPPUNIT_ASSERT_EQUAL(OUString("12:02:03 AM"), m_pDoc->GetString(ScAddress(0,4,0)));
+ CPPUNIT_ASSERT_EQUAL(OUString("02:03:59 AM"), m_pDoc->GetString(ScAddress(0,5,0)));
+
+ m_pDoc->DeleteTab(0);
+}
+
void Test::testDocStatistics()
{
SCTAB nStartTabs = m_pDoc->GetTableCount();
diff --git a/sc/qa/unit/ucalc.hxx b/sc/qa/unit/ucalc.hxx
index 2f2b8bc5501c..cba0a60c8143 100644
--- a/sc/qa/unit/ucalc.hxx
+++ b/sc/qa/unit/ucalc.hxx
@@ -126,6 +126,7 @@ public:
void testMarkData();
void testInput();
void testColumnIterator();
+ void testTdf135249();
void testDocStatistics();
void testRowForHeight();
@@ -581,6 +582,7 @@ public:
CPPUNIT_TEST(testMarkData);
CPPUNIT_TEST(testInput);
CPPUNIT_TEST(testColumnIterator);
+ CPPUNIT_TEST(testTdf135249);
CPPUNIT_TEST(testDocStatistics);
CPPUNIT_TEST(testRowForHeight);
CPPUNIT_TEST(testDataEntries);