diff options
-rw-r--r-- | sc/qa/uitest/calc_tests2/tdf116421.py | 36 | ||||
-rw-r--r-- | sc/qa/unit/uicalc/uicalc.cxx | 32 |
2 files changed, 32 insertions, 36 deletions
diff --git a/sc/qa/uitest/calc_tests2/tdf116421.py b/sc/qa/uitest/calc_tests2/tdf116421.py deleted file mode 100644 index c6d86f164e14..000000000000 --- a/sc/qa/uitest/calc_tests2/tdf116421.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 -import os -from uitest.uihelper.common import get_state_as_dict -from uitest.uihelper.calc import enter_text_to_cell -from libreoffice.calc.document import get_sheet_from_doc -from libreoffice.calc.conditional_format import get_conditional_format_from_sheet -from uitest.debug import sleep -from libreoffice.calc.document import get_cell_by_position -from libreoffice.uno.propertyvalue import mkPropertyValues -#Bug: autosum is not working - -class tdf116421(UITestCase): - - def test_tdf116421_autosum_not_working(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() - enter_text_to_cell(gridwin, "A1", "1") - enter_text_to_cell(gridwin, "A2", "1") - enter_text_to_cell(gridwin, "A3", "1") - gridwin.executeAction("SELECT", mkPropertyValues({"CELL": "A4"})) - self.xUITest.executeCommand(".uno:AutoSum") - - self.assertEqual(get_cell_by_position(document, 0, 0, 3).getValue(), 3) - self.assertEqual(get_cell_by_position(document, 0, 0, 3).getFormula(), "=SUM(A1:A3)") - - 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 0a719ee29bb2..d771f354899d 100644 --- a/sc/qa/unit/uicalc/uicalc.cxx +++ b/sc/qa/unit/uicalc/uicalc.cxx @@ -1150,6 +1150,38 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf71339) CPPUNIT_ASSERT_EQUAL(OUString("=SUM(A1:A3)"), aFormula); } +CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf116421) +{ + mxComponent = loadFromDesktop("private:factory/scalc"); + ScModelObj* pModelObj = dynamic_cast<ScModelObj*>(mxComponent.get()); + CPPUNIT_ASSERT(pModelObj); + ScDocument* pDoc = pModelObj->GetDocument(); + CPPUNIT_ASSERT(pDoc); + + insertStringToCell(*pModelObj, "A1", "1"); + insertStringToCell(*pModelObj, "A2", "1"); + insertStringToCell(*pModelObj, "A3", "1"); + + goToCell("A4"); + + dispatchCommand(mxComponent, ".uno:AutoSum", {}); + + // Use RETURN key to exit autosum edit view + pModelObj->postKeyEvent(LOK_KEYEVENT_KEYINPUT, 0, awt::Key::RETURN); + pModelObj->postKeyEvent(LOK_KEYEVENT_KEYUP, 0, awt::Key::RETURN); + Scheduler::ProcessEventsToIdle(); + + // Without the fix in place, this test would have failed with + // - Expected: 3 + // - Actual : 0 + CPPUNIT_ASSERT_EQUAL(3.0, pDoc->GetValue(ScAddress(0, 3, 0))); + + OUString aFormula; + pDoc->GetFormula(0, 3, 0, aFormula); + + CPPUNIT_ASSERT_EQUAL(OUString("=SUM(A1:A3)"), aFormula); +} + CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf86305) { ScModelObj* pModelObj = createDoc("tdf86305.ods"); |