[Libreoffice-commits] core.git: sw/PythonTest_sw_python.mk sw/qa

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Tue Oct 2 13:45:37 UTC 2018


 sw/PythonTest_sw_python.mk                   |    1 
 sw/qa/python/testdocuments/xcontrolshape.odt |binary
 sw/qa/python/xcontrolshape.py                |   79 +++++++++++++++++++++++++++
 3 files changed, 80 insertions(+)

New commits:
commit 41b1038874a45097cd9a6b981142029a8466200c
Author:     Vasily Melenchuk <vasily.melenchuk at cib.de>
AuthorDate: Sat Sep 29 02:57:31 2018 +0300
Commit:     Thorsten Behrens <Thorsten.Behrens at CIB.de>
CommitDate: Tue Oct 2 15:45:14 2018 +0200

    sw: new unit test for XControlShape
    
    Change-Id: Ic7b56da1f48760770ca5617cea6c91e10ff0dcee
    Reviewed-on: https://gerrit.libreoffice.org/61100
    Tested-by: Jenkins
    Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt at cib.de>
    Reviewed-by: Thorsten Behrens <Thorsten.Behrens at CIB.de>

diff --git a/sw/PythonTest_sw_python.mk b/sw/PythonTest_sw_python.mk
index 5daae9b957ae..728e3e29141c 100644
--- a/sw/PythonTest_sw_python.mk
+++ b/sw/PythonTest_sw_python.mk
@@ -35,6 +35,7 @@ $(eval $(call gb_PythonTest_add_modules,sw_python,$(SRCDIR)/sw/qa/python,\
 	var_fields \
 	xscriptprovider \
 	xtextfieldssupplier \
+	xcontrolshape \
 ))
 
 # vim: set noet sw=4 ts=4:
diff --git a/sw/qa/python/testdocuments/xcontrolshape.odt b/sw/qa/python/testdocuments/xcontrolshape.odt
new file mode 100644
index 000000000000..d8a003b137ce
Binary files /dev/null and b/sw/qa/python/testdocuments/xcontrolshape.odt differ
diff --git a/sw/qa/python/xcontrolshape.py b/sw/qa/python/xcontrolshape.py
new file mode 100644
index 000000000000..cfbcedba73c9
--- /dev/null
+++ b/sw/qa/python/xcontrolshape.py
@@ -0,0 +1,79 @@
+#! /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 unohelper
+from org.libreoffice.unotest import UnoInProcess
+from com.sun.star.beans import UnknownPropertyException
+import uno
+
+
+class TestXControlShape(unittest.TestCase):
+
+    @classmethod
+    def setUpClass(cls):
+        cls._uno = UnoInProcess()
+        cls._uno.setUp()
+
+    @classmethod
+    def tearDownClass(cls):
+        cls._uno.tearDown()
+
+    def test_getAndSetControlShape(self):
+        xDoc = self.__class__._uno.openDocFromTDOC("xcontrolshape.odt")
+        self.assertIsNotNone(xDoc)
+
+        xDrawPage = xDoc.getDrawPage()
+        self.assertIsNotNone(xDrawPage)
+
+        # Date picker has control
+        xShapeDatePicker = xDrawPage[0]
+        self.assertIsNotNone(xShapeDatePicker)
+        self.assertIsNotNone(xShapeDatePicker.getControl())
+
+        # Combobox also has control
+        xShapeCombo = xDrawPage[1]
+        self.assertIsNotNone(xShapeCombo)
+        self.assertIsNotNone(xShapeCombo.getControl())
+
+        # Simple draw shape has no ControlShape
+        xShapeSimple = xDrawPage[2]
+        self.assertIsNotNone(xShapeSimple)
+        # Shape has no XControlShape interface and we get AttributeError exception
+        # during getControl() call
+        with self.assertRaises(AttributeError):
+            self.assertIsNone(xShapeSimple.getControl())
+
+        xOldControlShape = xShapeCombo.getControl()
+
+        # Combo box was a combo box and had no "Date" attribute"
+        with self.assertRaises(UnknownPropertyException):
+            xShapeCombo.getControl().getPropertyValue("Date")
+
+        # We are setting new Control Shape
+        xShapeCombo.setControl(xShapeDatePicker.getControl())
+
+        # And we can get date with some value
+        xDate = xShapeCombo.getControl().getPropertyValue("Date")
+        self.assertIsNotNone(xDate)
+        self.assertTrue(xDate.Day > 0 and xDate.Month > 0 and xDate.Year > 0)
+
+        # Return back original controlshape
+        xShapeCombo.setControl(xOldControlShape)
+        # ...and ensure that date no longer available
+        with self.assertRaises(UnknownPropertyException):
+            xShapeCombo.getControl().getPropertyValue("Date")
+
+        xDoc.close(True)
+
+
+if __name__ == '__main__':
+    unittest.main()
+
+# vim: set shiftwidth=4 softtabstop=4 expandtab:


More information about the Libreoffice-commits mailing list