sc/qa/unit/ucalc.cxx |   27 +++++++++++++++++++++++++++
 sc/qa/unit/ucalc.hxx |    2 ++
 2 files changed, 29 insertions(+)

New commits:
commit b02d05f460fb43424d4288969ea826afc06b66e5
Author:     Xisco Fauli <xiscofa...@libreoffice.org>
AuthorDate: Fri Aug 7 11:41:00 2020 +0200
Commit:     Xisco Fauli <xiscofa...@libreoffice.org>
CommitDate: Fri Aug 7 21:06:32 2020 +0200

    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 <xiscofa...@libreoffice.org>

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);
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to