summaryrefslogtreecommitdiffstats
path: root/sfx2/qa/python/check_sidebar.py
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--sfx2/qa/python/check_sidebar.py169
1 files changed, 169 insertions, 0 deletions
diff --git a/sfx2/qa/python/check_sidebar.py b/sfx2/qa/python/check_sidebar.py
new file mode 100644
index 000000000..59cc955b8
--- /dev/null
+++ b/sfx2/qa/python/check_sidebar.py
@@ -0,0 +1,169 @@
+# -*- 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/.
+#
+
+import unittest
+import unohelper
+import os
+from org.libreoffice.unotest import UnoInProcess
+
+from com.sun.star.ui import XSidebarProvider
+from com.sun.star.ui import XDecks
+from com.sun.star.ui import XDeck
+from com.sun.star.ui import XPanels
+from com.sun.star.ui import XPanel
+
+class CheckSidebar(unittest.TestCase):
+
+ @classmethod
+ def setUpClass(cls):
+ cls._uno = UnoInProcess()
+ cls._uno.setUp()
+
+ @classmethod
+ def tearDownClass(cls):
+ cls._uno.tearDown()
+
+ def test_check_sidebar(self):
+
+ xDoc = self.__class__._uno.openEmptyDoc( url = "private:factory/scalc", bHidden = False, bReadOnly = False)
+ xController = xDoc.getCurrentController()
+
+ xSidebar = xController.getSidebar()
+ assert(xSidebar)
+
+ xSidebar.setVisible(True)
+ isVisible = xSidebar.isVisible()
+ self.assertTrue ( xSidebar.isVisible() )
+
+ # TODO: does not work in unit test context
+# xSidebar.setVisible(False)
+# isVisible = xSidebar.isVisible()
+# assert( not isVisible )
+# xSidebar.setVisible(True)
+
+ xSidebar.showDecks(False)
+ xSidebar.showDecks(True)
+
+ xDecks = xSidebar.getDecks()
+
+ first_deck_name = "PropertyDeck";
+
+ deck_element_names = xDecks.getElementNames()
+ assert ( first_deck_name in deck_element_names )
+ assert ( xDecks.hasByName(first_deck_name) )
+
+ decks_count = len(xDecks)
+ self.assertEqual ( 5, decks_count )
+
+ xDeck = xDecks[first_deck_name]
+ assert ( xDeck )
+ assert ( xDeck.getId() == first_deck_name )
+
+ new_deck_title = "New title"
+ xDeck.setTitle(new_deck_title)
+ assert ( xDeck.getTitle() == new_deck_title )
+
+ xDeck.moveFirst()
+ initial_index = xDeck.getOrderIndex()
+ self.assertEqual(100, initial_index)
+
+ xDeck.moveLast()
+ assert ( xDeck.getOrderIndex() > initial_index )
+
+ initial_index = xDeck.getOrderIndex()
+ xDeck.moveFirst()
+ assert ( xDeck.getOrderIndex() < initial_index )
+
+ initial_index = xDeck.getOrderIndex()
+ xDeck.moveDown()
+ assert ( xDeck.getOrderIndex() > initial_index )
+
+ initial_index = xDeck.getOrderIndex()
+ xDeck.moveUp()
+ assert ( xDeck.getOrderIndex() < initial_index )
+
+ xPanels = xDeck.getPanels()
+
+ panels_count = len(xPanels)
+ self.assertEqual ( panels_count, 5 )
+
+ first_panel_name = self.getFirstPanel(xPanels)
+
+ panel_element_names = xPanels.getElementNames()
+ assert ( first_panel_name in panel_element_names )
+ assert ( xPanels.hasByName(first_panel_name) )
+
+ xPanel = xPanels[first_panel_name]
+ assert ( xPanel )
+ assert ( xPanel.getId() == first_panel_name )
+
+ new_title = "New title"
+ xPanel.setTitle(new_title)
+ assert ( xPanel.getTitle() == new_title )
+
+ initial_index = xPanel.getOrderIndex()
+ xPanel.moveLast()
+ assert ( xPanel.getOrderIndex() > initial_index )
+
+ initial_index = xPanel.getOrderIndex()
+ xPanel.moveFirst()
+ assert ( xPanel.getOrderIndex() < initial_index )
+
+ initial_index = xPanel.getOrderIndex()
+ xPanel.moveDown()
+ assert ( xPanel.getOrderIndex() > initial_index )
+
+ initial_index = xPanel.getOrderIndex()
+ xPanel.moveUp()
+ assert ( xPanel.getOrderIndex() < initial_index )
+
+ xPanel.collapse()
+ assert( not xPanel.isExpanded() )
+
+ last_panel_name = self.getLastPanel(xPanels)
+
+ other_panel = xPanels[last_panel_name]
+ other_panel.expand(False)
+ assert( other_panel.isExpanded() )
+
+ xPanel.expand(True)
+ assert( xPanel.isExpanded() )
+ assert( not other_panel.isExpanded() )
+
+ # close the document
+ xDoc.dispose()
+
+ def getFirstPanel(self, xPanels):
+
+ panel_name = ""
+ cur_index = 10000
+
+ for panel in xPanels:
+ if panel.getOrderIndex() < cur_index:
+ panel_name = panel.getId()
+ cur_index = panel.getOrderIndex()
+
+ return panel_name
+
+ def getLastPanel(self, xPanels):
+
+ panel_name = ""
+ cur_index = 0
+
+ for panel in xPanels:
+ if panel.getOrderIndex() > cur_index:
+ panel_name = panel.getId()
+ cur_index = panel.getOrderIndex()
+
+ return panel_name
+
+if __name__ == "__main__":
+ unittest.main()
+
+# vim: set shiftwidth=4 softtabstop=4 expandtab: