Kaydet (Commit) d38e743e authored tarafından Laurent Godard's avatar Laurent Godard Kaydeden (comit) Samuel Mehrbrodt

Rename Sidebar.xcu node names to be meaningful

+ prefixe with Sd, Sw, Sc if only one application context, no prefix otherwise
+ uniformize implicit convention nodeName = Id
+ unit test
  + check nodeName/Id
  + panels are bound to existing deck

Change-Id: I4ccc39008ebf5b5820d09472abfd45d2813e8c96
Reviewed-on: https://gerrit.libreoffice.org/18570Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarSamuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
üst f74e120e
......@@ -15,6 +15,7 @@ $(eval $(call gb_PythonTest_set_defs,sfx2_python,\
$(eval $(call gb_PythonTest_add_modules,sfx2_python,$(SRCDIR)/sfx2/qa/python,\
check_sidebar \
check_sidebar_registry \
))
# vim: set noet sw=4 ts=4:
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
# 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
import uno
class CheckSidebarRegistry(unittest.TestCase):
_uno = None
_xDoc = None
@classmethod
def setUpClass(cls):
cls._uno = UnoInProcess()
cls._uno.setUp()
cls._xDoc = cls._uno.openEmptyDoc( url = "private:factory/scalc", bHidden = False, bReadOnly = False)
@classmethod
def tearDownClass(cls):
cls._uno.tearDown()
def test_sidebar_registry(self):
# assert(result) after whole processing to list defected nodes at once
result = True
#open registry node in Sidebar.xcu
configProvider = self.createUnoService("com.sun.star.configuration.ConfigurationProvider")
param = uno.createUnoStruct('com.sun.star.beans.PropertyValue')
param.Name = "nodepath"
# Deck names consitency
param.Value = "org.openoffice.Office.UI.Sidebar/Content/DeckList"
sidebarDecksSettings = configProvider.createInstanceWithArguments("com.sun.star.configuration.ConfigurationAccess",
(param, ))
for nodeName in sidebarDecksSettings:
node = sidebarDecksSettings.getByName(nodeName)
if (node.Id != nodeName):
print("\nNon-consistent sidebar.xcu Deck registry names", nodeName, node.Id)
result = False
# panel names consitency
param.Value = "org.openoffice.Office.UI.Sidebar/Content/PanelList"
sidebarPanelsSettings = configProvider.createInstanceWithArguments("com.sun.star.configuration.ConfigurationAccess",
(param, ))
for nodeName in sidebarPanelsSettings:
node = sidebarPanelsSettings.getByName(nodeName)
if (node.Id != nodeName):
print("\nNon-consistent sidebar.xcu Panel registry names", nodeName, node.Id)
result = False
# is panel bound to an existing Deck ?
FoundDeckId = False
for deckNodeName in sidebarDecksSettings:
deckNode = sidebarDecksSettings.getByName(deckNodeName)
if (node.DeckId == deckNode.Id):
FoundDeckId = True
if not FoundDeckId:
print("\nNon existing DeckId for the panel ",node.Id)
result = False
# trigger the overall result. details of each error have already be printed
assert(result)
def createUnoService(self, serviceName):
sm = uno.getComponentContext().ServiceManager
return sm.createInstanceWithContext(serviceName, uno.getComponentContext())
if __name__ == "__main__":
unittest.main()
# vim: set noet sw=4 ts=4:
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment