sw/qa/uitest/data/tdf170701.docx |binary sw/qa/uitest/trackedChanges/tdf170701.py | 59 +++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+)
New commits: commit 636ad41cadbeba1a8d1b06cce5d0b8cfb83ee09e Author: Xisco Fauli <[email protected]> AuthorDate: Tue Feb 10 11:46:32 2026 +0100 Commit: Xisco Fauli <[email protected]> CommitDate: Tue Feb 10 17:01:22 2026 +0100 tdf#170701: sw: Add UItest Change-Id: I4eda30a6c0ff040aa53a636abac40f8f2c98ef60 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199060 Reviewed-by: Xisco Fauli <[email protected]> Tested-by: Jenkins diff --git a/sw/qa/uitest/data/tdf170701.docx b/sw/qa/uitest/data/tdf170701.docx new file mode 100644 index 000000000000..87fac9b0c664 Binary files /dev/null and b/sw/qa/uitest/data/tdf170701.docx differ diff --git a/sw/qa/uitest/trackedChanges/tdf170701.py b/sw/qa/uitest/trackedChanges/tdf170701.py new file mode 100644 index 000000000000..b106bb1ba59f --- /dev/null +++ b/sw/qa/uitest/trackedChanges/tdf170701.py @@ -0,0 +1,59 @@ +# -*- 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 +from libreoffice.uno.propertyvalue import mkPropertyValues + +class tdf170701(UITestCase): + + def test_tdf170701_buttons_wrongly_enabled_for_inner_changes(self): + + with self.ui_test.load_file(get_url_for_data_file("tdf170701.docx")): + + with self.ui_test.execute_modeless_dialog_through_command(".uno:AcceptTrackedChanges", close_button="close") as xTrackDlg: + changesList = xTrackDlg.getChild("writerchanges") + + self.assertEqual(3, len(changesList.getChildren())) + self.assertEqual('true', get_state_as_dict(changesList.getChild('0'))["IsSelected"]) + self.assertEqual('false', get_state_as_dict(changesList.getChild('1'))["IsSelected"]) + self.assertEqual('false', get_state_as_dict(changesList.getChild('2'))["IsSelected"]) + + self.assertEqual('0', get_state_as_dict(changesList.getChild('0'))["Children"]) + self.assertEqual('1', get_state_as_dict(changesList.getChild('1'))["Children"]) + self.assertEqual('0', get_state_as_dict(changesList.getChild('0'))["Children"]) + + self.assertEqual('true', get_state_as_dict(xTrackDlg.getChild("accept"))["Enabled"]) + self.assertEqual('true', get_state_as_dict(xTrackDlg.getChild("acceptall"))["Enabled"]) + self.assertEqual('true', get_state_as_dict(xTrackDlg.getChild("reject"))["Enabled"]) + self.assertEqual('true', get_state_as_dict(xTrackDlg.getChild("rejectall"))["Enabled"]) + + changesList.executeAction("TYPE", mkPropertyValues({"KEYCODE": "DOWN"})) + + self.assertEqual('false', get_state_as_dict(changesList.getChild('0'))["IsSelected"]) + self.assertEqual('true', get_state_as_dict(changesList.getChild('1'))["IsSelected"]) + self.assertEqual('false', get_state_as_dict(changesList.getChild('2'))["IsSelected"]) + + changesList.executeAction("TYPE", mkPropertyValues({"KEYCODE": "RIGHT"})) + changesList.executeAction("TYPE", mkPropertyValues({"KEYCODE": "DOWN"})) + + self.assertEqual('false', get_state_as_dict(changesList.getChild('0'))["IsSelected"]) + self.assertEqual('false', get_state_as_dict(changesList.getChild('1'))["IsSelected"]) + self.assertEqual('false', get_state_as_dict(changesList.getChild('2'))["IsSelected"]) + self.assertEqual('true', get_state_as_dict(changesList.getChild('1').getChild('0'))["IsSelected"]) + + self.ui_test.wait_until_property_is_updated(xTrackDlg.getChild("accept"), "Enabled", "false") + # Without the fix in place, this test would have failed here with + # AssertionError: 'true' != 'false' + self.assertEqual('false', get_state_as_dict(xTrackDlg.getChild("accept"))["Enabled"]) + self.assertEqual('false', get_state_as_dict(xTrackDlg.getChild("reject"))["Enabled"]) + self.assertEqual('true', get_state_as_dict(xTrackDlg.getChild("acceptall"))["Enabled"]) + self.assertEqual('true', get_state_as_dict(xTrackDlg.getChild("rejectall"))["Enabled"]) + +# vim: set shiftwidth=4 softtabstop=4 expandtab:
