sc/qa/uitest/options/tdf117458.py |  144 --------------------------------------
 sc/qa/unit/uicalc/uicalc.cxx      |   51 +++++++++++++
 2 files changed, 51 insertions(+), 144 deletions(-)

New commits:
commit 0b39d386e4742afa4efcf293baf0e2922505306a
Author:     Xisco Fauli <xiscofa...@libreoffice.org>
AuthorDate: Mon Jan 25 17:08:05 2021 +0100
Commit:     Xisco Fauli <xiscofa...@libreoffice.org>
CommitDate: Mon Jan 25 18:59:15 2021 +0100

    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 <xiscofa...@libreoffice.org>

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");
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to