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>
This commit is contained in:
Andrzej Hunt
2015-11-06 18:09:34 +01:00
parent 8655fa318c
commit 2f13f051c3
2 changed files with 22 additions and 5 deletions

View File

@@ -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");

View File

@@ -5789,13 +5789,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");
}