summaryrefslogtreecommitdiff
path: root/sw/qa/complex
diff options
context:
space:
mode:
authorMatthew J. Francis <mjay.francis@gmail.com>2015-06-04 15:56:58 +0800
committerNorbert Thiebaud <nthiebaud@gmail.com>2015-06-14 15:03:58 +0000
commit46e12364dcf638e97831dc3d7507bb6b93377757 (patch)
treebf4111815f9ccb9437a7cd3fd23778890b0b177f /sw/qa/complex
parent8f324aebfb94c4b2023894121b954ad4f35eb395 (diff)
Fix insertion and deletion in IndexedPropertyValuesContainer
The cases for iterating to an element from the end (used for elements in the second half of the underlying array) had an off by one error causing the wrong elements to be inserted/removed Change-Id: Idcbf158cc31afaf02fce3f1975509edf6239d3ae Reviewed-on: https://gerrit.libreoffice.org/16073 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Norbert Thiebaud <nthiebaud@gmail.com>
Diffstat (limited to 'sw/qa/complex')
-rw-r--r--sw/qa/complex/writer/CheckIndexedPropertyValues.java18
1 files changed, 17 insertions, 1 deletions
diff --git a/sw/qa/complex/writer/CheckIndexedPropertyValues.java b/sw/qa/complex/writer/CheckIndexedPropertyValues.java
index c52617642995..338f7065e02c 100644
--- a/sw/qa/complex/writer/CheckIndexedPropertyValues.java
+++ b/sw/qa/complex/writer/CheckIndexedPropertyValues.java
@@ -53,6 +53,11 @@ public class CheckIndexedPropertyValues {
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);
@@ -70,6 +75,17 @@ public class CheckIndexedPropertyValues {
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);
@@ -86,7 +102,7 @@ public class CheckIndexedPropertyValues {
}
try {
- xCont.insertByIndex(2, "Example String");
+ xCont.insertByIndex(3, "Example String");
fail("IllegalArgumentException was not thrown.");
}
catch(com.sun.star.lang.IllegalArgumentException e) {