diff options
Diffstat (limited to 'sw')
-rw-r--r-- | sw/JunitTest_sw_complex.mk | 2 | ||||
-rw-r--r-- | sw/PythonTest_sw_python.mk | 9 | ||||
-rw-r--r-- | sw/qa/complex/writer/CheckIndexedPropertyValues.java | 122 | ||||
-rw-r--r-- | sw/qa/python/check_indexed_property_values.py | 87 |
4 files changed, 92 insertions, 128 deletions
diff --git a/sw/JunitTest_sw_complex.mk b/sw/JunitTest_sw_complex.mk index e0aaa974841d..0bff21007fcf 100644 --- a/sw/JunitTest_sw_complex.mk +++ b/sw/JunitTest_sw_complex.mk @@ -29,7 +29,6 @@ $(eval $(call gb_JunitTest_add_sourcefiles,sw_complex,\ sw/qa/complex/checkColor/CheckChangeColor \ sw/qa/complex/indeterminateState/CheckIndeterminateState \ sw/qa/complex/writer/CheckBookmarks \ - sw/qa/complex/writer/CheckIndexedPropertyValues \ sw/qa/complex/writer/CheckTable \ sw/qa/complex/writer/LoadSaveTest \ sw/qa/complex/writer/TestDocument \ @@ -49,7 +48,6 @@ $(eval $(call gb_JunitTest_add_classes,sw_complex,\ complex.checkColor.CheckChangeColor \ complex.writer.CheckBookmarks \ complex.writer.CheckTable \ - complex.writer.CheckIndexedPropertyValues \ complex.writer.TextPortionEnumerationTest \ )) diff --git a/sw/PythonTest_sw_python.mk b/sw/PythonTest_sw_python.mk index e2efba026d19..3c5e2d58e2ca 100644 --- a/sw/PythonTest_sw_python.mk +++ b/sw/PythonTest_sw_python.mk @@ -15,10 +15,11 @@ $(eval $(call gb_PythonTest_set_defs,sw_python,\ $(eval $(call gb_PythonTest_add_modules,sw_python,$(SRCDIR)/sw/qa/python,\ check_index \ - check_flies \ - check_fields \ - check_cross_references \ - check_named_property_values \ + check_flies \ + check_fields \ + check_cross_references \ + check_named_property_values \ + check_indexed_property_values \ check_styles \ check_table \ get_expression \ diff --git a/sw/qa/complex/writer/CheckIndexedPropertyValues.java b/sw/qa/complex/writer/CheckIndexedPropertyValues.java deleted file mode 100644 index 83d58c46cb0c..000000000000 --- a/sw/qa/complex/writer/CheckIndexedPropertyValues.java +++ /dev/null @@ -1,122 +0,0 @@ -/* - * 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 . - */ - -package complex.writer; - -import com.sun.star.beans.PropertyValue; -import com.sun.star.container.XIndexContainer; -import com.sun.star.uno.UnoRuntime; -import com.sun.star.uno.Type; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; -import org.openoffice.test.OfficeConnection; -import static org.junit.Assert.*; - -/** - * Test the com.sun.star.document.IndexedPropertyValues service - */ -public class CheckIndexedPropertyValues { - @Test public void checkIndexedPropertyValues() - throws com.sun.star.uno.Exception - { - Object instance = connection.getComponentContext().getServiceManager(). - createInstanceWithContext( - "com.sun.star.document.IndexedPropertyValues", - connection.getComponentContext()); - XIndexContainer xCont = UnoRuntime.queryInterface(XIndexContainer.class, instance); - - assertNotNull("XIndexContainer was queried but returned null.", xCont); - PropertyValue[] prop1 = new PropertyValue[1]; - prop1[0] = new PropertyValue(); - prop1[0].Name = "Jupp"; - prop1[0].Value = "GoodGuy"; - - PropertyValue[] prop2 = new PropertyValue[1]; - prop2[0] = new PropertyValue(); - prop2[0].Name = "Horst"; - prop2[0].Value = "BadGuy"; - - PropertyValue[] prop3 = new PropertyValue[1]; - prop3[0] = new PropertyValue(); - prop3[0].Name = "Peter"; - prop3[0].Value = "FamilyGuy"; - - Type t = xCont.getElementType(); - assertEquals("Initial container is not empty", 0, xCont.getCount()); - xCont.insertByIndex(0, prop1); - PropertyValue[]ret = (PropertyValue[])xCont.getByIndex(0); - assertEquals(prop1[0].Name, ret[0].Name); - assertEquals(prop1[0].Value, ret[0].Value); - xCont.replaceByIndex(0, prop2); - ret = (PropertyValue[])xCont.getByIndex(0); - assertEquals(prop2[0].Name, ret[0].Name); - assertEquals(prop2[0].Value, ret[0].Value); - xCont.removeByIndex(0); - assertTrue("Could not remove PropertyValue.", - !xCont.hasElements() && xCont.getCount()==0); - xCont.insertByIndex(0, prop1); - xCont.insertByIndex(1, prop2); - assertTrue("Did not insert PropertyValue.", - xCont.hasElements() && xCont.getCount()==2); - try { - xCont.removeByIndex(1); - } - catch (com.sun.star.lang.IndexOutOfBoundsException e) { - fail("Could not remove last PropertyValue"); - } - xCont.insertByIndex(1, prop2); - xCont.insertByIndex(1, prop3); - ret = (PropertyValue[])xCont.getByIndex(1); - assertEquals(prop3[0].Name, ret[0].Name); - assertEquals(prop3[0].Value, ret[0].Value); - - try { - xCont.insertByIndex(25, prop2); - fail("IllegalArgumentException was not thrown."); - } - catch(com.sun.star.lang.IndexOutOfBoundsException e) { - } - - try { - xCont.removeByIndex(25); - fail("IndexOutOfBoundsException was not thrown."); - } - catch(com.sun.star.lang.IndexOutOfBoundsException e) { - } - - try { - xCont.insertByIndex(3, "Example String"); - fail("IllegalArgumentException was not thrown."); - } - catch(com.sun.star.lang.IllegalArgumentException e) { - } - } - - @BeforeClass public static void setUpConnection() throws Exception { - connection.setUp(); - } - - @AfterClass public static void tearDownConnection() - throws InterruptedException, com.sun.star.uno.Exception - { - connection.tearDown(); - } - - private static final OfficeConnection connection = new OfficeConnection(); -} diff --git a/sw/qa/python/check_indexed_property_values.py b/sw/qa/python/check_indexed_property_values.py new file mode 100644 index 000000000000..0e18b94bd23e --- /dev/null +++ b/sw/qa/python/check_indexed_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 uno +from org.libreoffice.unotest import UnoInProcess +from com.sun.star.beans import PropertyValue +from com.sun.star.container import XIndexContainer +from org.libreoffice.unotest import OfficeConnection + +class CheckIndexedPropertyValues(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_checkIndexedPropertyValues(self): + + xServiceManager = self.xContext.ServiceManager + xCont = xServiceManager.createInstanceWithContext('com.sun.star.document.IndexedPropertyValues', 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,)) + + p3 = PropertyValue(Name="Peter", Value="FamilyGuy") + prop3 = uno.Any("[]com.sun.star.beans.PropertyValue", (p3,)) + + t = xCont.getElementType() + self.assertEqual(0, xCont.getCount()) #Initial container is not empty + uno.invoke(xCont, "insertByIndex", (0, prop1)) + + ret = xCont.getByIndex(0) + self.assertEqual(p1.Name, ret[0].Name) + self.assertEqual(p1.Value, ret[0].Value) + + uno.invoke(xCont, "replaceByIndex", (0, prop2)) + ret = xCont.getByIndex(0) + self.assertEqual(p2.Name, ret[0].Name) + self.assertEqual(p2.Value, ret[0].Value) + + xCont.removeByIndex(0) + self.assertTrue(not(xCont.hasElements()) and xCont.getCount()==0) #Could not remove PropertyValue + uno.invoke(xCont, "insertByIndex", (0, prop1)) + uno.invoke(xCont, "insertByIndex", (1, prop2)) + self.assertTrue(xCont.hasElements() and xCont.getCount()==2) #Did not insert PropertyValue + + uno.invoke(xCont, "insertByIndex", (1, prop2)) + uno.invoke(xCont, "insertByIndex", (1, prop3)) + ret = xCont.getByIndex(1) + self.assertEqual(p3.Name, ret[0].Name) + self.assertEqual(p3.Value, ret[0].Value) + + with self.assertRaises(Exception): + uno.invoke(xCont, "insertByIndex", (25, prop2)) + + with self.assertRaises(Exception): + xCont.removeByIndex(25) + + with self.assertRaises(Exception): + uno.invoke(xCont, "insertByIndex", (3, "Example String")) |