From 605efe926ab66ddf5aa790051008c3ed35b9a0e9 Mon Sep 17 00:00:00 2001 From: Andrzej Hunt 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 Reviewed-by: Andrzej Hunt Tested-by: Andrzej Hunt (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("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