sc/qa/uitest/conditional_format/tdf163897.py | 54 +++++++++++++++++++++++++++ 1 file changed, 54 insertions(+)
New commits: commit b6953ce38b0117efc5e2023fb7641b764c357fad Author: Xisco Fauli <xiscofa...@libreoffice.org> AuthorDate: Wed Feb 19 12:07:55 2025 +0100 Commit: Xisco Fauli <xiscofa...@libreoffice.org> CommitDate: Wed Feb 19 17:15:39 2025 +0100 tdf#163897: sc: Add UItest Change-Id: I14e96cd9d3c937e4387188b445b1fd2b91a01b9d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181885 Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org> Tested-by: Jenkins diff --git a/sc/qa/uitest/conditional_format/tdf163897.py b/sc/qa/uitest/conditional_format/tdf163897.py new file mode 100644 index 000000000000..8f3710f4f621 --- /dev/null +++ b/sc/qa/uitest/conditional_format/tdf163897.py @@ -0,0 +1,54 @@ +# -*- tab-width: 4; indent-tabs-mode: nil; py-indent-offset: 4 -*- +# +# This file is part of the LibreOffice project. +# +# 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, get_url_for_data_file + +class tdf163897(UITestCase): + def test_tdf163897(self): + + # Use an existing document + with self.ui_test.load_file(get_url_for_data_file("tdf105544.ods")): + xCalcDoc = self.xUITest.getTopFocusWindow() + gridwin = xCalcDoc.getChild("grid_window") + + with self.ui_test.execute_dialog_through_command(".uno:ConditionalFormatManagerDialog", close_button="") as xCondFormatMgr: + + xContainer = xCondFormatMgr.getChild("CONTAINER") + self.assertEqual("4", get_state_as_dict(xContainer)['Children']) + + xRemoveBtn = xCondFormatMgr.getChild("remove") + + xRemoveBtn.executeAction("CLICK", tuple()) + self.assertEqual("3", get_state_as_dict(xContainer)['Children']) + xRemoveBtn.executeAction("CLICK", tuple()) + self.assertEqual("2", get_state_as_dict(xContainer)['Children']) + xRemoveBtn.executeAction("CLICK", tuple()) + self.assertEqual("1", get_state_as_dict(xContainer)['Children']) + xRemoveBtn.executeAction("CLICK", tuple()) + self.assertEqual("0", get_state_as_dict(xContainer)['Children']) + + xAddBtn = xCondFormatMgr.getChild("add") + with self.ui_test.execute_dialog_through_action(xAddBtn, "CLICK", event_name="ModelessDialogVisible", close_button="cancel"): + pass + + # we need to get a pointer again as the old window has been removed + xCondFormatMgr = self.xUITest.getTopFocusWindow() + + xContainer = xCondFormatMgr.getChild("CONTAINER") + + # Without the fix in place, this test would have failed with + # AssertionError: '0' != '4' + self.assertEqual("0", get_state_as_dict(xContainer)['Children']) + + # close the conditional format manager + xOKBtn = xCondFormatMgr.getChild("ok") + self.ui_test.close_dialog_through_button(xOKBtn) + +# vim: set shiftwidth=4 softtabstop=4 expandtab: