sc/qa/uitest/calc_tests7/tdf124816.py |   36 -----------------
 sc/qa/unit/uicalc/uicalc.cxx          |   72 ++++++++++++++++------------------
 2 files changed, 35 insertions(+), 73 deletions(-)

New commits:
commit 55a97625c56d4b1bf6948628559f7e63d01d8333
Author:     Xisco Fauli <xiscofa...@libreoffice.org>
AuthorDate: Tue Mar 10 15:58:55 2020 +0100
Commit:     Xisco FaulĂ­ <xiscofa...@libreoffice.org>
CommitDate: Tue Mar 10 18:33:33 2020 +0100

    tdf#124816: move UItest to CppunitTest
    
    Change-Id: I2ad49fc599bf2c0d4be79967e935abed13e75970
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90264
    Tested-by: Jenkins
    Reviewed-by: Xisco FaulĂ­ <xiscofa...@libreoffice.org>

diff --git a/sc/qa/uitest/calc_tests7/tdf124816.py 
b/sc/qa/uitest/calc_tests7/tdf124816.py
deleted file mode 100644
index b9b2b01f6eee..000000000000
--- a/sc/qa/uitest/calc_tests7/tdf124816.py
+++ /dev/null
@@ -1,36 +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
-from uitest.uihelper.common import get_state_as_dict, type_text
-from uitest.debug import sleep
-import org.libreoffice.unotest
-import pathlib
-
-def get_url_for_data_file(file_name):
-    return 
pathlib.Path(org.libreoffice.unotest.makeCopyFromTDOC(file_name)).as_uri()
-
-#Bug 124816 - CRASH: inserting a new row
-
-class tdf124816(UITestCase):
-   def test_tdf124816_crash_inserting_new_row(self):
-    calc_doc = self.ui_test.load_file(get_url_for_data_file("tdf124816.xlsx"))
-    xCalcDoc = self.xUITest.getTopFocusWindow()
-    gridwin = xCalcDoc.getChild("grid_window")
-    document = self.ui_test.get_component()
-
-    #Go to Sheet - Insert Row - Insert row before
-    self.xUITest.executeCommand(".uno:InsertRowsBefore")
-    self.xUITest.executeCommand(".uno:Undo")
-    #verify; no crashes
-    self.assertEqual(get_cell_by_position(document, 0, 1, 0).getString(), "1")
-    self.ui_test.close_doc()
-# vim: set shiftwidth=4 softtabstop=4 expandtab:
diff --git a/sc/qa/uitest/calc_tests/data/tdf124816.xlsx 
b/sc/qa/unit/uicalc/data/tdf124816.xlsx
similarity index 100%
rename from sc/qa/uitest/calc_tests/data/tdf124816.xlsx
rename to sc/qa/unit/uicalc/data/tdf124816.xlsx
diff --git a/sc/qa/unit/uicalc/uicalc.cxx b/sc/qa/unit/uicalc/uicalc.cxx
index 193f50e7978e..00a8351fb8c8 100644
--- a/sc/qa/unit/uicalc/uicalc.cxx
+++ b/sc/qa/unit/uicalc/uicalc.cxx
@@ -28,6 +28,7 @@ public:
     virtual void tearDown() override;
 
     ScModelObj* createDoc(const char* pName);
+    void checkCurrentCell(SCCOL nCol, SCROW nRow);
 
 protected:
     uno::Reference<lang::XComponent> mxComponent;
@@ -48,6 +49,12 @@ void ScUiCalcTest::tearDown()
     test::BootstrapFixture::tearDown();
 }
 
+void ScUiCalcTest::checkCurrentCell(SCCOL nCol, SCROW nRow)
+{
+    CPPUNIT_ASSERT_EQUAL(sal_Int16(nCol), 
ScDocShell::GetViewData()->GetCurX());
+    CPPUNIT_ASSERT_EQUAL(sal_Int32(nRow), 
ScDocShell::GetViewData()->GetCurY());
+}
+
 char const DATA_DIRECTORY[] = "/sc/qa/unit/uicalc/data/";
 
 ScModelObj* ScUiCalcTest::createDoc(const char* pName)
@@ -69,22 +76,17 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf122232)
     CPPUNIT_ASSERT(pDoc);
 
     //Start with from C6. Press tabulator to reach G6.
-    CPPUNIT_ASSERT_EQUAL(sal_Int16(2), ScDocShell::GetViewData()->GetCurX());
-    CPPUNIT_ASSERT_EQUAL(sal_Int32(5), ScDocShell::GetViewData()->GetCurY());
+    checkCurrentCell(2, 5);
 
     pModelObj->postKeyEvent(LOK_KEYEVENT_KEYINPUT, 0, KEY_TAB);
     pModelObj->postKeyEvent(LOK_KEYEVENT_KEYINPUT, 0, KEY_TAB);
     Scheduler::ProcessEventsToIdle();
-
-    CPPUNIT_ASSERT_EQUAL(sal_Int16(6), ScDocShell::GetViewData()->GetCurX());
-    CPPUNIT_ASSERT_EQUAL(sal_Int32(5), ScDocShell::GetViewData()->GetCurY());
+    checkCurrentCell(6, 5);
 
     //without the fix, cursor would jump to C29 instead of C7.
     pModelObj->postKeyEvent(LOK_KEYEVENT_KEYINPUT, 0, awt::Key::RETURN);
     Scheduler::ProcessEventsToIdle();
-
-    CPPUNIT_ASSERT_EQUAL(sal_Int16(2), ScDocShell::GetViewData()->GetCurX());
-    CPPUNIT_ASSERT_EQUAL(sal_Int32(6), ScDocShell::GetViewData()->GetCurY());
+    checkCurrentCell(2, 6);
 }
 
 CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf126904)
@@ -93,48 +95,44 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf126904)
     ScDocument* pDoc = pModelObj->GetDocument();
     CPPUNIT_ASSERT(pDoc);
 
-    CPPUNIT_ASSERT_EQUAL(sal_Int16(0), ScDocShell::GetViewData()->GetCurX());
-    CPPUNIT_ASSERT_EQUAL(sal_Int32(4), ScDocShell::GetViewData()->GetCurY());
-
+    checkCurrentCell(0, 4);
     dispatchCommand(mxComponent, ".uno:GoRight", {});
-
-    CPPUNIT_ASSERT_EQUAL(sal_Int16(1), ScDocShell::GetViewData()->GetCurX());
-    CPPUNIT_ASSERT_EQUAL(sal_Int32(4), ScDocShell::GetViewData()->GetCurY());
-
+    checkCurrentCell(1, 4);
     dispatchCommand(mxComponent, ".uno:GoRight", {});
-
-    CPPUNIT_ASSERT_EQUAL(sal_Int16(4), ScDocShell::GetViewData()->GetCurX());
-    CPPUNIT_ASSERT_EQUAL(sal_Int32(4), ScDocShell::GetViewData()->GetCurY());
-
+    checkCurrentCell(4, 4);
     dispatchCommand(mxComponent, ".uno:GoRight", {});
-
-    CPPUNIT_ASSERT_EQUAL(sal_Int16(5), ScDocShell::GetViewData()->GetCurX());
-    CPPUNIT_ASSERT_EQUAL(sal_Int32(4), ScDocShell::GetViewData()->GetCurY());
-
+    checkCurrentCell(5, 4);
     dispatchCommand(mxComponent, ".uno:GoRight", {});
-
-    CPPUNIT_ASSERT_EQUAL(sal_Int16(8), ScDocShell::GetViewData()->GetCurX());
-    CPPUNIT_ASSERT_EQUAL(sal_Int32(4), ScDocShell::GetViewData()->GetCurY());
-
+    checkCurrentCell(8, 4);
     dispatchCommand(mxComponent, ".uno:GoRight", {});
-
-    CPPUNIT_ASSERT_EQUAL(sal_Int16(9), ScDocShell::GetViewData()->GetCurX());
-    CPPUNIT_ASSERT_EQUAL(sal_Int32(4), ScDocShell::GetViewData()->GetCurY());
-
+    checkCurrentCell(9, 4);
     dispatchCommand(mxComponent, ".uno:GoRight", {});
-
-    CPPUNIT_ASSERT_EQUAL(sal_Int16(12), ScDocShell::GetViewData()->GetCurX());
-    CPPUNIT_ASSERT_EQUAL(sal_Int32(4), ScDocShell::GetViewData()->GetCurY());
+    checkCurrentCell(12, 4);
 
     //Cursor can't move forward to the right
     for (size_t i = 0; i < 5; ++i)
     {
         dispatchCommand(mxComponent, ".uno:GoRight", {});
-
-        CPPUNIT_ASSERT_EQUAL(sal_Int16(13), 
ScDocShell::GetViewData()->GetCurX());
-        CPPUNIT_ASSERT_EQUAL(sal_Int32(4), 
ScDocShell::GetViewData()->GetCurY());
+        checkCurrentCell(13, 4);
     }
 }
+
+CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf124816)
+{
+    ScModelObj* pModelObj = createDoc("tdf124816.xlsx");
+    ScDocument* pDoc = pModelObj->GetDocument();
+    CPPUNIT_ASSERT(pDoc);
+
+    checkCurrentCell(3, 9);
+    CPPUNIT_ASSERT_EQUAL(OUString("0"), pDoc->GetString(ScAddress(3, 9, 0)));
+
+    //Without the fix, it would crash
+    dispatchCommand(mxComponent, ".uno:InsertRowsBefore", {});
+    CPPUNIT_ASSERT_EQUAL(OUString(""), pDoc->GetString(ScAddress(3, 9, 0)));
+    dispatchCommand(mxComponent, ".uno:Undo", {});
+    CPPUNIT_ASSERT_EQUAL(OUString("0"), pDoc->GetString(ScAddress(3, 9, 0)));
+}
+
 CPPUNIT_PLUGIN_IMPLEMENT();
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to