Files
loongoffice/sw/qa/python/xscriptprovider.py
Hamish McIntyre-Bhatty f4a1dfe2ea tdf#97361 make xscriptprovider.py more pythonic
Use pylint to identify style and convention errors in
xscriptprovider.py. Also make use of setUp and tearDown
methods to streamline the class and reduce code
duplication.

Change-Id: Iee4addb6577c304c5ced4e2d246c4bb557d2b6f4
Reviewed-on: https://gerrit.libreoffice.org/66197
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2019-03-18 09:39:37 +01:00

81 lines
2.7 KiB
Python

#! /usr/bin/env python
# -*- 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 uno
from org.libreoffice.unotest import UnoInProcess
from com.sun.star.script.provider import ScriptFrameworkErrorException
class TestXScriptProvider(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls._uno = UnoInProcess()
cls._uno.setUp()
@classmethod
def tearDownClass(cls):
cls._uno.tearDown()
def setUp(self):
xMasterScriptProviderFactory = create_master_script_provider_factory()
self.xScriptProvider = xMasterScriptProviderFactory.createScriptProvider("")
def tearDown(self):
del self.xScriptProvider
def test_get_script_application(self):
#getScript for built-in StarBasic function
xScript = self.xScriptProvider.getScript(
"vnd.sun.star.script:Tools.Misc.CreateNewDocument?language=Basic&"
"location=application")
self.assertIsNotNone(xScript, "xScript was not loaded")
def test_get_script_document(self):
#getScript for StarBasic function in loaded document
x_doc = self.__class__._uno.openTemplateFromTDOC("xscriptprovider.odt")
xMasterScriptProviderFactory = create_master_script_provider_factory()
xScriptProvider = xMasterScriptProviderFactory.createScriptProvider(x_doc)
xScript = xScriptProvider.getScript(
"vnd.sun.star.script:Standard.Module1.Main?language=Basic&"
"location=document")
self.assertIsNotNone(xScript, "xScript was not loaded")
x_doc.close(True)
def test_get_script_invalid_uri(self):
# getScript fails with invalid URI
with self.assertRaises(ScriptFrameworkErrorException):
self.xScriptProvider.getScript("invalid URI, isn't it?")
def test_get_script_not_found(self):
# getScript fails when script not found
with self.assertRaises(ScriptFrameworkErrorException):
self.xScriptProvider.getScript(
"vnd.sun.star.script:NotExisting.NotExisting.NotExisting?"
"language=Basic&location=document")
def create_master_script_provider_factory():
xServiceManager = uno.getComponentContext().ServiceManager
return xServiceManager.createInstanceWithContext(
"com.sun.star.script.provider.MasterScriptProviderFactory",
uno.getComponentContext())
if __name__ == '__main__':
unittest.main()
# vim: set shiftwidth=4 softtabstop=4 expandtab: