summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXisco Fauli <xiscofauli@libreoffice.org>2021-01-25 17:08:05 +0100
committerXisco Fauli <xiscofauli@libreoffice.org>2021-01-25 18:59:15 +0100
commit0b39d386e4742afa4efcf293baf0e2922505306a (patch)
tree6165be5fa4c282eeaa90e84fe4321f25c8f25132
parent808b2f556667fb2269e8936af91df2a9adf61764 (diff)
tdf#117458: sc: Move UItest to CppUnitTest
Change-Id: I6cd31f3e65bc2a443d105b3d10afc7f9f24a3457 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109919 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
-rw-r--r--sc/qa/uitest/options/tdf117458.py144
-rw-r--r--sc/qa/unit/uicalc/uicalc.cxx51
2 files changed, 51 insertions, 144 deletions
diff --git a/sc/qa/uitest/options/tdf117458.py b/sc/qa/uitest/options/tdf117458.py
deleted file mode 100644
index 8d12f3cf63db..000000000000
--- a/sc/qa/uitest/options/tdf117458.py
+++ /dev/null
@@ -1,144 +0,0 @@
-# -*- tab-width: 4; indent-tabs-mode: nil; py-indent-offset: 4 -*-
-#
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-#
-from uitest.framework import UITestCase
-from uitest.uihelper.common import get_state_as_dict
-from uitest.uihelper.common import select_pos
-from uitest.uihelper.calc import enter_text_to_cell
-from libreoffice.calc.document import get_cell_by_position
-from libreoffice.uno.propertyvalue import mkPropertyValues
-
-#Bug 117458 - Selection doesn't move left nor right by pressing ENTER
-
-class tdf117458(UITestCase):
- def test_tdf117458_selection_move_by_enter(self):
- calc_doc = self.ui_test.create_doc_in_start_center("calc")
- xCalcDoc = self.xUITest.getTopFocusWindow()
- gridwin = xCalcDoc.getChild("grid_window")
- document = self.ui_test.get_component()
- #Go to Tools -> Options -> LibreOffice Calc -> General
- self.ui_test.execute_dialog_through_command(".uno:OptionsTreeDialog") #optionsdialog
- xDialogOpt = self.xUITest.getTopFocusWindow()
-
- xPages = xDialogOpt.getChild("pages")
- xCalcEntry = xPages.getChild('3') # Calc
- xCalcEntry.executeAction("EXPAND", tuple())
- xCalcGeneralEntry = xCalcEntry.getChild('0')
- xCalcGeneralEntry.executeAction("SELECT", tuple()) #General
- xaligncb = xDialogOpt.getChild("aligncb")
- xalignlb = xDialogOpt.getChild("alignlb")
- if (get_state_as_dict(xaligncb)["Selected"]) == "false":
- xaligncb.executeAction("CLICK", tuple())
- #Down
- props = {"TEXT": "Down"}
- actionProps = mkPropertyValues(props)
- xalignlb.executeAction("SELECT", actionProps)
-
- xOKBtn = xDialogOpt.getChild("ok")
- self.ui_test.close_dialog_through_button(xOKBtn)
- #Select cell A1
- #and down up to "deselect" range
- gridwin.executeAction("SELECT", mkPropertyValues({"CELL": "A1"}))
- self.xUITest.executeCommand(".uno:GoDown")
- self.xUITest.executeCommand(".uno:GoUp")
- #press Enter
- gridwin.executeAction("TYPE", mkPropertyValues({"KEYCODE": "RETURN"}))
- #Verify
- self.assertEqual(get_state_as_dict(gridwin)["CurrentRow"], "1")
-
- #Go to Tools -> Options -> LibreOffice Calc -> General
- self.ui_test.execute_dialog_through_command(".uno:OptionsTreeDialog") #optionsdialog
- xDialogOpt = self.xUITest.getTopFocusWindow()
-
- xPages = xDialogOpt.getChild("pages")
- xCalcEntry = xPages.getChild('3') # Calc
- xCalcEntry.executeAction("EXPAND", tuple())
- xCalcGeneralEntry = xCalcEntry.getChild('0')
- xCalcGeneralEntry.executeAction("SELECT", tuple()) #General
- xaligncb = xDialogOpt.getChild("aligncb")
- xalignlb = xDialogOpt.getChild("alignlb")
- if (get_state_as_dict(xaligncb)["Selected"]) == "false":
- xaligncb.executeAction("CLICK", tuple())
- #Up
- props = {"TEXT": "Up"}
- actionProps = mkPropertyValues(props)
- xalignlb.executeAction("SELECT", actionProps)
-
- xOKBtn = xDialogOpt.getChild("ok")
- self.ui_test.close_dialog_through_button(xOKBtn)
- #Select cell A2
- #and down up to "deselect" range
- gridwin.executeAction("SELECT", mkPropertyValues({"CELL": "A2"}))
- self.xUITest.executeCommand(".uno:GoDown")
- self.xUITest.executeCommand(".uno:GoUp")
- #press Enter
- gridwin.executeAction("TYPE", mkPropertyValues({"KEYCODE": "RETURN"}))
- #Verify
- self.assertEqual(get_state_as_dict(gridwin)["CurrentRow"], "0")
-
- #Go to Tools -> Options -> LibreOffice Calc -> General
- self.ui_test.execute_dialog_through_command(".uno:OptionsTreeDialog") #optionsdialog
- xDialogOpt = self.xUITest.getTopFocusWindow()
-
- xPages = xDialogOpt.getChild("pages")
- xCalcEntry = xPages.getChild('3') # Calc
- xCalcEntry.executeAction("EXPAND", tuple())
- xCalcGeneralEntry = xCalcEntry.getChild('0')
- xCalcGeneralEntry.executeAction("SELECT", tuple()) #General
- xaligncb = xDialogOpt.getChild("aligncb")
- xalignlb = xDialogOpt.getChild("alignlb")
- if (get_state_as_dict(xaligncb)["Selected"]) == "false":
- xaligncb.executeAction("CLICK", tuple())
- #Right
- props = {"TEXT": "Right"}
- actionProps = mkPropertyValues(props)
- xalignlb.executeAction("SELECT", actionProps)
-
- xOKBtn = xDialogOpt.getChild("ok")
- self.ui_test.close_dialog_through_button(xOKBtn)
- #Select cell A1
- #and down up to "deselect" range
- gridwin.executeAction("SELECT", mkPropertyValues({"CELL": "A1"}))
- self.xUITest.executeCommand(".uno:GoDown")
- self.xUITest.executeCommand(".uno:GoUp")
- #press Enter
- gridwin.executeAction("TYPE", mkPropertyValues({"KEYCODE": "RETURN"}))
- #Verify
- self.assertEqual(get_state_as_dict(gridwin)["CurrentColumn"], "1")
-
- #Go to Tools -> Options -> LibreOffice Calc -> General
- self.ui_test.execute_dialog_through_command(".uno:OptionsTreeDialog") #optionsdialog
- xDialogOpt = self.xUITest.getTopFocusWindow()
-
- xPages = xDialogOpt.getChild("pages")
- xCalcEntry = xPages.getChild('3') # Calc
- xCalcEntry.executeAction("EXPAND", tuple())
- xCalcGeneralEntry = xCalcEntry.getChild('0')
- xCalcGeneralEntry.executeAction("SELECT", tuple()) #General
- xaligncb = xDialogOpt.getChild("aligncb")
- xalignlb = xDialogOpt.getChild("alignlb")
- if (get_state_as_dict(xaligncb)["Selected"]) == "false":
- xaligncb.executeAction("CLICK", tuple())
- #Left
- props = {"TEXT": "Left"}
- actionProps = mkPropertyValues(props)
- xalignlb.executeAction("SELECT", actionProps)
-
- xOKBtn = xDialogOpt.getChild("ok")
- self.ui_test.close_dialog_through_button(xOKBtn)
- #Select cell B1
- #and down up to "deselect" range
- gridwin.executeAction("SELECT", mkPropertyValues({"CELL": "B1"}))
- self.xUITest.executeCommand(".uno:GoDown")
- self.xUITest.executeCommand(".uno:GoUp")
- #press Enter
- gridwin.executeAction("TYPE", mkPropertyValues({"KEYCODE": "RETURN"}))
- #Verify
- self.assertEqual(get_state_as_dict(gridwin)["CurrentColumn"], "0")
-
- self.ui_test.close_doc()
-
-# vim: set shiftwidth=4 softtabstop=4 expandtab: \ No newline at end of file
diff --git a/sc/qa/unit/uicalc/uicalc.cxx b/sc/qa/unit/uicalc/uicalc.cxx
index 5dbb55d1ba04..5924ff02bc8f 100644
--- a/sc/qa/unit/uicalc/uicalc.cxx
+++ b/sc/qa/unit/uicalc/uicalc.cxx
@@ -199,6 +199,57 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf120660)
pMod->SetInputOptions(aInputOption);
}
+CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf117458)
+{
+ mxComponent = loadFromDesktop("private:factory/scalc");
+ ScModelObj* pModelObj = dynamic_cast<ScModelObj*>(mxComponent.get());
+ CPPUNIT_ASSERT(pModelObj);
+ ScDocument* pDoc = pModelObj->GetDocument();
+ CPPUNIT_ASSERT(pDoc);
+
+ ScModule* pMod = SC_MOD();
+ ScInputOptions aInputOption = pMod->GetInputOptions();
+ sal_uInt16 bOldStatus = aInputOption.GetMoveDir();
+
+ lcl_AssertCurrentCursorPosition(0, 0);
+
+ aInputOption.SetMoveDir(DIR_BOTTOM);
+ pMod->SetInputOptions(aInputOption);
+
+ pModelObj->postKeyEvent(LOK_KEYEVENT_KEYINPUT, 0, awt::Key::RETURN);
+ Scheduler::ProcessEventsToIdle();
+
+ lcl_AssertCurrentCursorPosition(0, 1);
+
+ aInputOption.SetMoveDir(DIR_TOP);
+ pMod->SetInputOptions(aInputOption);
+
+ pModelObj->postKeyEvent(LOK_KEYEVENT_KEYINPUT, 0, awt::Key::RETURN);
+ Scheduler::ProcessEventsToIdle();
+
+ lcl_AssertCurrentCursorPosition(0, 0);
+
+ aInputOption.SetMoveDir(DIR_RIGHT);
+ pMod->SetInputOptions(aInputOption);
+
+ pModelObj->postKeyEvent(LOK_KEYEVENT_KEYINPUT, 0, awt::Key::RETURN);
+ Scheduler::ProcessEventsToIdle();
+
+ lcl_AssertCurrentCursorPosition(1, 0);
+
+ aInputOption.SetMoveDir(DIR_LEFT);
+ pMod->SetInputOptions(aInputOption);
+
+ pModelObj->postKeyEvent(LOK_KEYEVENT_KEYINPUT, 0, awt::Key::RETURN);
+ Scheduler::ProcessEventsToIdle();
+
+ lcl_AssertCurrentCursorPosition(0, 0);
+
+ // Restore previous status
+ aInputOption.SetMoveDir(bOldStatus);
+ pMod->SetInputOptions(aInputOption);
+}
+
CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf138710)
{
ScModelObj* pModelObj = createDoc("tdf138710.ods");