summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomaž Vajngerl <tomaz.vajngerl@collabora.co.uk>2022-03-15 15:50:10 +0900
committerTomaž Vajngerl <quikee@gmail.com>2022-04-12 01:22:29 +0200
commitf7fbce57fe62e21c0370ac8d545ef4cf2bbbe3cf (patch)
tree32ed6f2a55d6312e392b1ace52014632c45f3ea6
parent4c7ab1171a683ef00b09125cf2eae187b7383463 (diff)
sc: add unit test to delete Sparkline, update add Sparkline test
Change-Id: Ib0e60ea5aa246b29a06ae90be2cb4b905722b1a0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132469 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit cbd4e2852545b5f67896dc9062ddda4d5744f751) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132793 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
-rw-r--r--sc/qa/unit/SparklineTest.cxx61
1 files changed, 59 insertions, 2 deletions
diff --git a/sc/qa/unit/SparklineTest.cxx b/sc/qa/unit/SparklineTest.cxx
index d4a8d2d119a8..74f40579d99f 100644
--- a/sc/qa/unit/SparklineTest.cxx
+++ b/sc/qa/unit/SparklineTest.cxx
@@ -19,6 +19,8 @@ class SparklineTest : public ScBootstrapFixture
private:
uno::Reference<uno::XInterface> m_xCalcComponent;
+ sc::Sparkline* createTestSparkline(ScDocument& rDocument);
+
public:
SparklineTest()
: ScBootstrapFixture("sc/qa/unit/data")
@@ -43,22 +45,77 @@ public:
}
void testAddSparkline();
+ void testDeleteSprkline();
CPPUNIT_TEST_SUITE(SparklineTest);
CPPUNIT_TEST(testAddSparkline);
+ CPPUNIT_TEST(testDeleteSprkline);
CPPUNIT_TEST_SUITE_END();
};
+sc::Sparkline* SparklineTest::createTestSparkline(ScDocument& rDocument)
+{
+ auto pSparklineGroup = std::make_shared<sc::SparklineGroup>();
+
+ sc::Sparkline* pSparkline = rDocument.CreateSparkline(ScAddress(0, 6, 0), pSparklineGroup);
+ if (!pSparkline)
+ return nullptr;
+
+ rDocument.SetValue(0, 0, 0, 4);
+ rDocument.SetValue(0, 1, 0, -2);
+ rDocument.SetValue(0, 2, 0, 1);
+ rDocument.SetValue(0, 3, 0, -3);
+ rDocument.SetValue(0, 4, 0, 5);
+ rDocument.SetValue(0, 5, 0, 3);
+
+ ScRangeList aList;
+ aList.push_back(ScRange(0, 0, 0, 0, 5, 0));
+ pSparkline->setInputRange(aList);
+
+ return pSparkline;
+}
+
void SparklineTest::testAddSparkline()
{
ScDocShellRef xDocSh = loadEmptyDocument();
CPPUNIT_ASSERT(xDocSh);
ScDocument& rDocument = xDocSh->GetDocument();
- auto pSparklineGroup = std::make_shared<sc::SparklineGroup>();
- sc::Sparkline* pSparkline = rDocument.CreateSparkline(ScAddress(0, 0, 0), pSparklineGroup);
+ sc::Sparkline* pSparkline = createTestSparkline(rDocument);
CPPUNIT_ASSERT(pSparkline);
+
+ sc::Sparkline* pGetSparkline = rDocument.GetSparkline(ScAddress(0, 6, 0));
+ CPPUNIT_ASSERT(pGetSparkline);
+
+ CPPUNIT_ASSERT_EQUAL(pGetSparkline, pSparkline);
+
+ sc::SparklineList* pList = rDocument.GetSparklineList(0);
+ CPPUNIT_ASSERT(pList);
+
+ std::vector<std::shared_ptr<sc::Sparkline>> aSparklineVector = pList->getSparklines();
+ CPPUNIT_ASSERT_EQUAL(size_t(1), aSparklineVector.size());
+ CPPUNIT_ASSERT_EQUAL(aSparklineVector[0].get(), pSparkline);
+
+ xDocSh->DoClose();
+}
+
+void SparklineTest::testDeleteSprkline()
+{
+ ScDocShellRef xDocSh = loadEmptyDocument();
+ CPPUNIT_ASSERT(xDocSh);
+
+ ScDocument& rDocument = xDocSh->GetDocument();
+
+ sc::Sparkline* pSparkline = createTestSparkline(rDocument);
+ CPPUNIT_ASSERT(pSparkline);
+
+ clearRange(&rDocument, ScRange(0, 6, 0, 0, 6, 0));
+
+ sc::Sparkline* pGetSparkline = rDocument.GetSparkline(ScAddress(0, 6, 0));
+ CPPUNIT_ASSERT(!pGetSparkline);
+
+ xDocSh->DoClose();
}
CPPUNIT_TEST_SUITE_REGISTRATION(SparklineTest);