diff options
author | kadertarlan <kadertarlan1@gmail.com> | 2016-01-27 01:05:44 +0200 |
---|---|---|
committer | Björn Michaelsen <bjoern.michaelsen@canonical.com> | 2016-01-27 14:33:20 +0000 |
commit | 4a377f5d37a733e30de1c545c9e90eddd9dac9c3 (patch) | |
tree | 46ff7d8021cf25333b225b447130b2a4193c46fa /sw/qa/python | |
parent | 34fed415c8cddc03d3d35a4cc70565ad49ab426e (diff) |
Convert Java unit test to Python (check_named_property_values.py)
Change-Id: I70d05395b8b5ca89c6a2ebf63c1b4a7760a1559e
Reviewed-on: https://gerrit.libreoffice.org/21829
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Björn Michaelsen <bjoern.michaelsen@canonical.com>
Diffstat (limited to 'sw/qa/python')
-rw-r--r-- | sw/qa/python/check_named_property_values.py | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/sw/qa/python/check_named_property_values.py b/sw/qa/python/check_named_property_values.py new file mode 100644 index 000000000000..9d7825b392e8 --- /dev/null +++ b/sw/qa/python/check_named_property_values.py @@ -0,0 +1,87 @@ +''' + 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/. + + This file incorporates work covered by the following license notice: + + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright + ownership. The ASF licenses this file to you under the Apache + License, Version 2.0 (the "License"); you may not use this file + except in compliance with the License. You may obtain a copy of + the License at http://www.apache.org/licenses/LICENSE-2.0 . +''' + +import unittest +import unohelper +import os +import uno +from org.libreoffice.unotest import UnoInProcess +from com.sun.star.beans import PropertyValue +from com.sun.star.container import XNameContainer +from org.libreoffice.unotest import OfficeConnection + + +class CheckNamedPropertyValues(unittest.TestCase): + + @classmethod + def setUpClass(cls): + cls._uno = UnoInProcess() + cls._uno.setUp() + cls.xContext = cls._uno.getContext() + cls.xDoc = cls._uno.openEmptyWriterDoc() + + @classmethod + def tearDownClass(cls): + cls._uno.tearDown() + + + def test_checkNamedPropertyValues(self): + + xServiceManager = self.xContext.ServiceManager + xCont = xServiceManager.createInstanceWithContext('com.sun.star.document.NamedPropertyValues', self.xContext) + + p1 = PropertyValue(Name="Jupp", Value="GoodGuy") + prop1 = uno.Any("[]com.sun.star.beans.PropertyValue", (p1,)) + + p2 = PropertyValue(Name="Horst", Value="BadGuy") + prop2 = uno.Any("[]com.sun.star.beans.PropertyValue", (p2,)) + + t = xCont.getElementType() + self.assertFalse(xCont.hasElements()) #Initial container is not empty + + uno.invoke(xCont, "insertByName", ("prop1", prop1)) + ret = xCont["prop1"] + self.assertEqual(p1.Name, ret[0].Name) + self.assertEqual(p1.Value, ret[0].Value) + + uno.invoke(xCont, "replaceByName", ("prop1", prop2)) + ret = xCont["prop1"] + self.assertEqual(p2.Name, ret[0].Name) + self.assertEqual(p2.Value, ret[0].Value) + + xCont.removeByName("prop1") + self.assertFalse(xCont.hasElements()) #Could not remove PropertyValue. + uno.invoke(xCont, "insertByName", ("prop1", prop1)) + uno.invoke(xCont, "insertByName", ("prop2", prop2)) + self.assertTrue(xCont.hasElements()) #Did not insert PropertyValue + names = xCont.getElementNames() + self.assertEqual(2, len(names)) #Not all element names were returned + for i in range(len(names)): + self.assertTrue( names[i]=="prop1" or names[i]=="prop2") #Got a wrong element name + + with self.assertRaises(Exception): + uno.invoke(xCont, "insertByName", ("prop2", prop1)) + + with self.assertRaises(Exception): + uno.invoke(xCont, "insertByName",("prop3", "Example String")) + + with self.assertRaises(Exception): + xCont.removeByName("prop3") + + + |