sw/qa/uitest/data/tdf144672.odt |binary sw/qa/uitest/navigator/tdf144672.py | 55 ++++++++++++++++++++++++++++++++++++ vcl/source/treelist/uiobject.cxx | 2 + 3 files changed, 57 insertions(+)
New commits: commit 771e721837e76bdf1f85dda164f607a3d3c6c9a2 Author: Xisco Fauli <[email protected]> AuthorDate: Wed Dec 22 12:00:56 2021 +0100 Commit: Xisco Fauli <[email protected]> CommitDate: Wed Dec 22 16:10:50 2021 +0100 tdf#129625, tdf#144672: sw: Add UItest Change-Id: Ie6a4cc8b5d218112c56ff3cbba6a0c51ab30fb59 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127309 Tested-by: Jenkins Reviewed-by: Xisco Fauli <[email protected]> diff --git a/sw/qa/uitest/data/tdf144672.odt b/sw/qa/uitest/data/tdf144672.odt new file mode 100644 index 000000000000..de7f588b7174 Binary files /dev/null and b/sw/qa/uitest/data/tdf144672.odt differ diff --git a/sw/qa/uitest/navigator/tdf144672.py b/sw/qa/uitest/navigator/tdf144672.py new file mode 100644 index 000000000000..5d64d63b22ca --- /dev/null +++ b/sw/qa/uitest/navigator/tdf144672.py @@ -0,0 +1,55 @@ +# -*- 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 libreoffice.uno.propertyvalue import mkPropertyValues +from uitest.uihelper.common import get_state_as_dict, get_url_for_data_file + +class tdf144672(UITestCase): + + def test_Tdf144672(self): + with self.ui_test.load_file(get_url_for_data_file("tdf144672.odt")) as writer_doc: + + xMainWindow = self.xUITest.getTopFocusWindow() + xWriterEdit = xMainWindow.getChild("writer_edit") + + self.xUITest.executeCommand(".uno:Sidebar") + + xWriterEdit.executeAction("SIDEBAR", mkPropertyValues({"PANEL": "SwNavigatorPanel"})) + + # wait until the navigator panel is available + xNavigatorPanel = self.ui_test.wait_until_child_is_available('NavigatorPanel') + + xContentTree = xNavigatorPanel.getChild("contenttree") + + xReferences = xContentTree.getChild('8') + self.assertEqual('References', get_state_as_dict(xReferences)['Text']) + + # tdf#129625: Without the fix in place, this test would have failed with + # AssertionError: 'true' != 'false' + self.assertEqual('true', get_state_as_dict(xReferences)['IsSemiTransparent']) + + xIndexes = xContentTree.getChild('9') + self.assertEqual('Indexes', get_state_as_dict(xIndexes)['Text']) + self.assertEqual('false', get_state_as_dict(xIndexes)['IsSemiTransparent']) + + xIndexes.executeAction("EXPAND", tuple()) + + self.assertEqual('3', get_state_as_dict(xIndexes)['Children']) + + for i in range(3): + # Without the fix in place, this test would have failed here with + # AssertionError: 'false' != 'true' + self.assertEqual('false', get_state_as_dict(xIndexes.getChild(i))['IsSemiTransparent']) + + xIndexes.executeAction("COLLAPSE", tuple()) + + self.xUITest.executeCommand(".uno:Sidebar") + +# vim: set shiftwidth=4 softtabstop=4 expandtab: diff --git a/vcl/source/treelist/uiobject.cxx b/vcl/source/treelist/uiobject.cxx index 0caea7163f76..ccc066804139 100644 --- a/vcl/source/treelist/uiobject.cxx +++ b/vcl/source/treelist/uiobject.cxx @@ -108,6 +108,8 @@ StringMap TreeListEntryUIObject::get_state() aMap["VisibleChildCount"] = OUString::number(mxTreeList->GetVisibleChildCount(mpEntry)); aMap["IsSelected"] = OUString::boolean(mxTreeList->IsSelected(mpEntry)); + aMap["IsSemiTransparent"] = OUString::boolean(bool(mpEntry->GetFlags() & SvTLEntryFlags::SEMITRANSPARENT)); + SvLBoxButton* pItem = static_cast<SvLBoxButton*>(mpEntry->GetFirstItem(SvLBoxItemType::Button)); if (pItem) aMap["IsChecked"] = OUString::boolean(pItem->IsStateChecked());
