set up python unit test infrastructure

Extract boostraping code from convwatch.py to unotest.py. Use python builtin
unittest module as unit test framework. Specify the unit test modules in make
file. Another option would be to use discover mode of unittest module.

Add __pycache__ to global .gitignore to keep the source directory clean.
Another option would be to deliver the unit tests to workdir prior to test
execution.

Currently only system python3 is supported.

Change-Id: I2692817673f786e950e1176a17c7675f989755b6
Reviewed-on: https://gerrit.libreoffice.org/3214
Reviewed-by: David Ostrovsky <David.Ostrovsky@gmx.de>
Tested-by: David Ostrovsky <David.Ostrovsky@gmx.de>
This commit is contained in:
David Ostrovsky
2013-03-30 22:10:48 +01:00
committed by David Ostrovsky
parent d64b5cc1c3
commit 0e68bac852
11 changed files with 421 additions and 0 deletions

View File

@@ -0,0 +1,53 @@
import unittest
from org.libreoffice.unotest import UnoConnection
class TestGetExpression(unittest.TestCase):
_unoCon = None
_xDoc = None
@classmethod
def setUpClass(cls):
cls._unoCon = UnoConnection({})
cls._unoCon.setUp()
cls._xDoc = cls._unoCon.openEmptyWriterDoc()
@classmethod
def tearDownClass(cls):
cls._unoCon.tearDown()
def test_get_expression(self):
self.__class__._unoCon.checkProperties(
self.__class__._xDoc.createInstance("com.sun.star.text.textfield.GetExpression"),
{"Content": "foo",
"CurrentPresentation": "bar",
"NumberFormat": 0,
"IsShowFormula": False,
"SubType": 0,
"VariableSubtype": 1,
"IsFixedLanguage": False,
},
self
)
# property 'Value' is read only?
@unittest.expectedFailure
def test_get_expression_veto_read_only(self):
self.__class__._unoCon.checkProperties(
self.__class__._xDoc.createInstance("com.sun.star.text.textfield.GetExpression"),
{"Value": 0.0},
self
)
# property 'NumberingType' is unknown?
@unittest.expectedFailure
def test_get_expression_unknown_property(self):
self.__class__._unoCon.checkProperties(
self.__class__._xDoc.createInstance("com.sun.star.text.textfield.GetExpression"),
{"NumberingType": 0},
self
)
if __name__ == '__main__':
unittest.main()