[Libreoffice-commits] core.git: sc/qa
Xisco Fauli (via logerrit)
logerrit at kemper.freedesktop.org
Thu Jan 21 17:33:58 UTC 2021
sc/qa/unit/uicalc/uicalc.cxx | 37 +++++++++++++++++++------------------
1 file changed, 19 insertions(+), 18 deletions(-)
New commits:
commit 77ae9bbff7ce7118d711f7110ec15dab908f398e
Author: Xisco Fauli <xiscofauli at libreoffice.org>
AuthorDate: Thu Jan 21 10:31:20 2021 +0100
Commit: Xisco Fauli <xiscofauli at libreoffice.org>
CommitDate: Thu Jan 21 18:33:12 2021 +0100
CppunitTest_sc_uicalc: Add local function to select range
Change-Id: If3d7102ef10935e85e263eb4d2dc56d8a29b4e57
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109731
Tested-by: Xisco Fauli <xiscofauli at libreoffice.org>
Reviewed-by: Xisco Fauli <xiscofauli at libreoffice.org>
diff --git a/sc/qa/unit/uicalc/uicalc.cxx b/sc/qa/unit/uicalc/uicalc.cxx
index 884ed31488df..efdcd7c7af6d 100644
--- a/sc/qa/unit/uicalc/uicalc.cxx
+++ b/sc/qa/unit/uicalc/uicalc.cxx
@@ -21,6 +21,7 @@
#include <docuno.hxx>
#include <docsh.hxx>
#include <inputopt.hxx>
+#include <rangeutl.hxx>
#include <scmod.hxx>
#include <viewdata.hxx>
@@ -60,6 +61,16 @@ static void lcl_AssertCurrentCursorPosition(SCCOL nCol, SCROW nRow)
CPPUNIT_ASSERT_EQUAL(sal_Int32(nRow), ScDocShell::GetViewData()->GetCurY());
}
+static void lcl_SelectRangeFromString(const ScDocument& rDoc, const OUString& rStr)
+{
+ ScRange aRange;
+ sal_Int32 nOffset = 0;
+ ScRangeStringConverter::GetRangeFromString(aRange, rStr, rDoc,
+ formula::FormulaGrammar::CONV_OOO, nOffset);
+
+ ScDocShell::GetViewData()->GetMarkData().SetMarkArea(aRange);
+}
+
constexpr OUStringLiteral DATA_DIRECTORY = u"/sc/qa/unit/uicalc/data/";
ScModelObj* ScUiCalcTest::createDoc(const char* pName)
@@ -107,17 +118,13 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf120660)
aInputOption.SetReplaceCellsWarn(false);
pMod->SetInputOptions(aInputOption);
- // Select A8:E8
- ScRange aMatRange(0, 7, 0, 4, 7, 0);
- ScDocShell::GetViewData()->GetMarkData().SetMarkArea(aMatRange);
+ lcl_SelectRangeFromString(*pDoc, "A8:E8");
ScDocument aClipDoc(SCDOCMODE_CLIP);
ScDocShell::GetViewData()->GetView()->CopyToClip(&aClipDoc, false, false, false, false);
Scheduler::ProcessEventsToIdle();
- // Select A4:E4
- aMatRange = ScRange(0, 3, 0, 4, 3, 0);
- ScDocShell::GetViewData()->GetMarkData().SetMarkArea(aMatRange);
+ lcl_SelectRangeFromString(*pDoc, "A4:E4");
ScDocShell::GetViewData()->GetView()->PasteFromClip(InsertDeleteFlags::ALL, &aClipDoc);
Scheduler::ProcessEventsToIdle();
@@ -130,16 +137,12 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf120660)
CPPUNIT_ASSERT_EQUAL(2200.0, pDoc->GetValue(ScAddress(4, 3, 0)));
CPPUNIT_ASSERT_EQUAL(900.0, pDoc->GetValue(ScAddress(4, 7, 0)));
- // Select A8:D8
- aMatRange = ScRange(0, 7, 0, 3, 7, 0);
- ScDocShell::GetViewData()->GetMarkData().SetMarkArea(aMatRange);
+ lcl_SelectRangeFromString(*pDoc, "A8:D8");
ScDocShell::GetViewData()->GetView()->CopyToClip(&aClipDoc, false, false, false, false);
Scheduler::ProcessEventsToIdle();
- // Select A4:D4
- aMatRange = ScRange(0, 3, 0, 3, 3, 0);
- ScDocShell::GetViewData()->GetMarkData().SetMarkArea(aMatRange);
+ lcl_SelectRangeFromString(*pDoc, "A4:D4");
ScDocShell::GetViewData()->GetView()->PasteFromClip(InsertDeleteFlags::ALL, &aClipDoc);
Scheduler::ProcessEventsToIdle();
@@ -536,9 +539,8 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf71339)
pDoc->SetString(ScAddress(0, 1, 0), "1");
pDoc->SetString(ScAddress(0, 2, 0), "1");
- // A1:A3
- ScRange aMatRange(0, 0, 0, 0, 2, 0);
- ScDocShell::GetViewData()->GetMarkData().SetMarkArea(aMatRange);
+ lcl_SelectRangeFromString(*pDoc, "A1:A3");
+
dispatchCommand(mxComponent, ".uno:AutoSum", {});
CPPUNIT_ASSERT_EQUAL(2.0, pDoc->GetValue(ScAddress(0, 3, 0)));
@@ -569,8 +571,7 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf81351)
ScDocShell::GetViewData()->SetCurY(0);
lcl_AssertCurrentCursorPosition(0, 0);
- ScRange aMatRange(0, 0, 0, 5, 4, 0);
- ScDocShell::GetViewData()->GetMarkData().SetMarkArea(aMatRange);
+ lcl_SelectRangeFromString(*pDoc, "A1:F5");
dispatchCommand(mxComponent, ".uno:SortAscending", {});
dispatchCommand(mxComponent, ".uno:GoDown", {});
@@ -602,7 +603,7 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf81351)
CPPUNIT_ASSERT_EQUAL(OUString(".uno:Save"), pDoc->GetString(ScAddress(0, 3, 0)));
CPPUNIT_ASSERT_EQUAL(OUString(".uno:Undo"), pDoc->GetString(ScAddress(0, 4, 0)));
- ScDocShell::GetViewData()->GetMarkData().SetMarkArea(aMatRange);
+ lcl_SelectRangeFromString(*pDoc, "A1:F5");
dispatchCommand(mxComponent, ".uno:SortDescending", {});
dispatchCommand(mxComponent, ".uno:GoDown", {});
More information about the Libreoffice-commits
mailing list