[Libreoffice-commits] core.git: sc/qa

Markus Mohrhard markus.mohrhard at googlemail.com
Wed Aug 16 17:45:55 UTC 2017


 sc/qa/unit/datacache.cxx |   32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

New commits:
commit 8dabae1678348ccae72d231598402f3c8d3be1e7
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Wed Aug 16 16:21:06 2017 +0200

    add a test for storing formula cells in the cache
    
    Change-Id: I094491c7a9be5384f88c30ed6a3271aa73674ad8
    Reviewed-on: https://gerrit.libreoffice.org/41222
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>

diff --git a/sc/qa/unit/datacache.cxx b/sc/qa/unit/datacache.cxx
index cdbd8db05e98..61e72ae01522 100644
--- a/sc/qa/unit/datacache.cxx
+++ b/sc/qa/unit/datacache.cxx
@@ -23,10 +23,12 @@ public:
 
     void testCacheSimple();
     void testCacheString();
+    void testCacheFormula();
 
     CPPUNIT_TEST_SUITE(ScCacheTest);
     CPPUNIT_TEST(testCacheSimple);
     CPPUNIT_TEST(testCacheString);
+    CPPUNIT_TEST(testCacheFormula);
     CPPUNIT_TEST_SUITE_END();
 
 public:
@@ -83,6 +85,36 @@ void ScCacheTest::testCacheString()
     CPPUNIT_ASSERT_EQUAL(OUString("da"), aNewDoc.GetString(0, 2, 0));
 }
 
+void ScCacheTest::testCacheFormula()
+{
+    ScDocument aDoc;
+    aDoc.InsertTab(0, "test");
+
+    aDoc.SetString(0, 0, 0, "=B1");
+    aDoc.SetString(0, 1, 0, "=B2");
+    aDoc.SetString(0, 2, 0, "=B3");
+    aDoc.SetString(0, 3, 0, "=B4");
+    aDoc.SetString(0, 4, 0, "=B5");
+    aDoc.SetString(0, 5, 0, "=B1");
+
+    SvMemoryStream aStrm;
+    aDoc.StoreTabToCache(0, aStrm);
+
+    aStrm.Seek(0);
+
+    ScDocument aNewDoc;
+    aNewDoc.InsertTab(0, "test");
+    aNewDoc.RestoreTabFromCache(0, aStrm);
+
+    std::vector<OUString> aFormulas = {"=B1", "=B2", "=B3", "=B4", "=B5", "=B1"};
+    for (SCROW nRow = 0; nRow <= 5; ++nRow)
+    {
+        OUString aFormula;
+        aNewDoc.GetFormula(0, nRow, 0, aFormula);
+        CPPUNIT_ASSERT_EQUAL(aFormulas[nRow], aFormula);
+    }
+}
+
 CPPUNIT_TEST_SUITE_REGISTRATION(ScCacheTest);
 
 CPPUNIT_PLUGIN_IMPLEMENT();


More information about the Libreoffice-commits mailing list