diff options
author | Jim Raykowski <raykowj@gmail.com> | 2023-01-14 12:06:10 -0900 |
---|---|---|
committer | Xisco Fauli <xiscofauli@libreoffice.org> | 2023-02-21 20:20:03 +0000 |
commit | 88e29df0c216c300b9388ee2822003da2bee8679 (patch) | |
tree | bc54289b1975d9c192ea34246cbd4e526a7983c3 /sw/qa/uitest/sidebar/tdf152921.py | |
parent | b05104facac18f40f34043be304f616530fc3a22 (diff) |
tdf#152921 add uitest
Change-Id: I6d3e6d8503c23549b04f5aaace6a90de9f3ced5e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145522
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Diffstat (limited to 'sw/qa/uitest/sidebar/tdf152921.py')
-rw-r--r-- | sw/qa/uitest/sidebar/tdf152921.py | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/sw/qa/uitest/sidebar/tdf152921.py b/sw/qa/uitest/sidebar/tdf152921.py new file mode 100644 index 000000000000..a313343f5690 --- /dev/null +++ b/sw/qa/uitest/sidebar/tdf152921.py @@ -0,0 +1,70 @@ +# -*- 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 + +class tdf152921(UITestCase): + + def test_tdf152921(self): + with self.ui_test.create_doc_in_start_center("writer"): + xWriterEdit = self.xUITest.getTopFocusWindow().getChild("writer_edit") + + # open the sidebar if need, it should already be open on a clean run + if 'TabBar' not in xWriterEdit.Children: + self.xUITest.executeCommand(".uno:Sidebar") + + xTabBar = xWriterEdit.getChild('TabBar') + + # make sure only the tabbar is visible, no deck + xDeckTitleToolBar = xWriterEdit.getChild('toolbar') + xDeckTitleToolBar.executeAction("CLICK", mkPropertyValues({"POS": "0"})) + # tabbar is visible, deck is not + # without the patch this assert would fail, a tab would be highlighted + self.assertFalse(len(get_state_as_dict(xTabBar)['HighlightedTabsIds'])) + + # open a panel and assert that a tab is highlighted, also assert that only one tab is + # highlighted, only a single tab should ever be highlighted + xWriterEdit.executeAction("SIDEBAR", mkPropertyValues({"PANEL": "TextPropertyPanel"})) + self.assertTrue(len(get_state_as_dict(xTabBar)['HighlightedTabsIds'])) + self.assertEqual(len(get_state_as_dict(xTabBar)['HighlightedTabsIds'].split(",")), 1) + + # click on the 'Close Sidebar Deck' button in the deck title tool bar + xDeckTitleToolBar.executeAction("CLICK", mkPropertyValues({"POS": "0"})) + # without the patch this assert would fail, a tab would be highlighted + self.assertFalse(len(get_state_as_dict(xTabBar)['HighlightedTabsIds'])) + + # open a deck by simulating a click on a tab in the tabbar + xTabBar.executeAction("CLICK", mkPropertyValues({"POS": "4"})) + self.assertTrue(len(get_state_as_dict(xTabBar)['HighlightedTabsIds'])) + self.assertEqual(len(get_state_as_dict(xTabBar)['HighlightedTabsIds'].split(",")), 1) + + # close it by clicking on the same tab + xTabBar.executeAction("CLICK", mkPropertyValues({"POS": "4"})) + # tabbar is visible, deck is not + # without the patch this assert would fail, a tab would be highlighted + self.assertFalse(len(get_state_as_dict(xTabBar)['HighlightedTabsIds'])) + + # open a deck + xTabBar.executeAction("CLICK", mkPropertyValues({"POS": "3"})) + self.assertTrue(len(get_state_as_dict(xTabBar)['HighlightedTabsIds'])) + self.assertEqual(len(get_state_as_dict(xTabBar)['HighlightedTabsIds'].split(",")), 1) + + # open a different deck + xTabBar.executeAction("CLICK", mkPropertyValues({"POS": "1"})) + self.assertTrue(len(get_state_as_dict(xTabBar)['HighlightedTabsIds'])) + self.assertEqual(len(get_state_as_dict(xTabBar)['HighlightedTabsIds'].split(",")), 1) + + # click on the 'Close Sidebar Deck' button + xDeckTitleToolBar.executeAction("CLICK", mkPropertyValues({"POS": "0"})) + # without the patch this assert would fail, a tab would be highlighted + self.assertFalse(len(get_state_as_dict(xTabBar)['HighlightedTabsIds'])) + +# vim: set shiftwidth=4 softtabstop=4 expandtab: |