From 605efe926ab66ddf5aa790051008c3ed35b9a0e9 Mon Sep 17 00:00:00 2001
From: Andrzej Hunt <andrzej@ahunt.org>
Date: Fri, 6 Nov 2015 18:09:34 +0100
Subject: [PATCH 288/398] sc lok: Add initial test for .uno:CellCursor
This should be extended with checking that we receive "EMPTY"
when there is no cursor shown - that would require e.g. simulating
keyboard input to hide the cell cursor.
Change-Id: Ia7be5ec3e158f21967b4c307ac10abb2b5e2a56a
Reviewed-on: https://gerrit.libreoffice.org/19828
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Andrzej Hunt <andrzej@ahunt.org>
Tested-by: Andrzej Hunt <andrzej@ahunt.org>
(cherry picked from commit 2f13f051c3c39f77d5f65ff0e3f4a476ccb95f1a)
---
desktop/qa/desktop_lib/test_desktop_lib.cxx | 20 ++++++++++++++++++++
sc/source/ui/view/gridwin.cxx | 7 ++-----
2 files changed, 22 insertions(+), 5 deletions(-)
diff --git a/desktop/qa/desktop_lib/test_desktop_lib.cxx b/desktop/qa/desktop_lib/test_desktop_lib.cxx
index 8c622a577231..df803c4bdaf0 100644
--- a/desktop/qa/desktop_lib/test_desktop_lib.cxx
+++ b/desktop/qa/desktop_lib/test_desktop_lib.cxx
@@ -68,6 +68,7 @@ public:
void testSaveAsCalc();
void testPasteWriter();
void testRowColumnHeaders();
+ void testCellCursor();
void testCommandResult();
CPPUNIT_TEST_SUITE(DesktopLOKTest);
@@ -82,6 +83,7 @@ public:
CPPUNIT_TEST(testSaveAsCalc);
CPPUNIT_TEST(testPasteWriter);
CPPUNIT_TEST(testRowColumnHeaders);
+ CPPUNIT_TEST(testCellCursor);
CPPUNIT_TEST(testCommandResult);
CPPUNIT_TEST_SUITE_END();
@@ -435,6 +437,24 @@ void DesktopLOKTest::testRowColumnHeaders()
}
}
+void DesktopLOKTest::testCellCursor()
+{
+ LibLODocument_Impl* pDocument = loadDoc("search.ods");
+
+ boost::property_tree::ptree aTree;
+
+ char* pJSON = pDocument->m_pDocumentClass->getCommandValues(pDocument, ".uno:CellCursor?tileWidth=1&tileHeight=1&outputWidth=1&outputHeight=1");
+
+ std::stringstream aStream(pJSON);
+ free(pJSON);
+ CPPUNIT_ASSERT(!aStream.str().empty());
+
+ boost::property_tree::read_json(aStream, aTree);
+
+ OString aRectangle(aTree.get<std::string>("commandValues").c_str());
+ CPPUNIT_ASSERT_EQUAL(aRectangle, OString("0, 0, 1278, 254"));
+}
+
void DesktopLOKTest::testCommandResult()
{
LibLODocument_Impl* pDocument = loadDoc("blank_text.odt");
diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx
index d6887b6f4e07..c2d391d038ef 100644
--- a/sc/source/ui/view/gridwin.cxx
+++ b/sc/source/ui/view/gridwin.cxx
@@ -5796,13 +5796,10 @@ OString ScGridWindow::getCellCursor( int nOutputWidth, int nOutputHeight,
}
OString ScGridWindow::getCellCursor(const Fraction& rZoomX, const Fraction& rZoomY) {
- ScDocument* pDoc = pViewData->GetDocument();
- ScDrawLayer* pDrawLayer = pDoc->GetDrawLayer();
-
- // GridWindows stores a shown cell cursor in mpOOCursors, hence
+ // GridWindow stores a shown cell cursor in mpOOCursors, hence
// we can use that to determine whether we would want to be showing
// one (client-side) for tiled rendering too.
- if (!pDrawLayer->isTiledRendering() || !mpOOCursors.get())
+ if (!mpOOCursors.get())
{
return OString("EMPTY");
}
--
2.12.0