summaryrefslogtreecommitdiff
path: root/sw/qa
diff options
context:
space:
mode:
authorkadertarlan <kadertarlan1@gmail.com>2016-01-27 23:44:02 +0200
committerjan iversen <jani@documentfoundation.org>2016-01-28 08:04:00 +0000
commitdb796cbdeca1c1573728fbdf9bf24e223c3a6c6b (patch)
tree5c8e3137755424ea36aeb3161b94cf8a929caac4 /sw/qa
parent0ce412f309b551d72f80e12f6fc8a64b429ef339 (diff)
tdf#97362: Convert Java unit test to Python (check_indexed_property_values.py)
Change-Id: I6c3be8496b4a2225375072d9380d5e226b663905 Reviewed-on: https://gerrit.libreoffice.org/21853 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: jan iversen <jani@documentfoundation.org>
Diffstat (limited to 'sw/qa')
-rw-r--r--sw/qa/complex/writer/CheckIndexedPropertyValues.java122
-rw-r--r--sw/qa/python/check_indexed_property_values.py87
2 files changed, 87 insertions, 122 deletions
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"))