FYI: fix ConcurrentModificationException should be thrown when altering the capacity of the array.

View: New views
1 Messages — Rating Filter:   Alert me  

FYI: fix ConcurrentModificationException should be thrown when altering the capacity of the array.

by Mario Torre-4 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I'm committing this change to fix the issue in subject.

Cheers,
Mario

2009-07-03  Mario Torre  <neugens@...>

      * gnu/testlet/java/util/ArrayList/AcuniaArrayListTest:
        fix ConcurrentModificationException should be thrown when
        altering the capacity of the array.
--
Mario Torre, Software Developer, http://www.jroller.com/neugens/
aicas Allerton Interworks Computer Automated Systems GmbH
Haid-und-Neu-Straße 18 * D-76131 Karlsruhe * Germany
http://www.aicas.com   * Tel: +49-721-663 968-44
pgp key: http://subkeys.pgp.net/ PGP Key ID: 80F240CF
Fingerprint: BA39 9666 94EC 8B73 27FA  FC7C 4086 63E3 80F2 40CF

USt-Id: DE216375633, Handelsregister HRB 109481, AG Mannheim
Geschäftsführer: Dr. James J. Hunt

Please, support open standards:
http://endsoftpatents.org/



[2009-07-03-AcuniaArrayListTest.patch]

# This patch file was generated by NetBeans IDE
# This patch can be applied using context Tools: Apply Diff Patch action on respective folder.
# It uses platform neutral UTF-8 encoding.
# Above lines and this line are ignored by the patching process.
Index: mauve/gnu/testlet/java/util/ArrayList/AcuniaArrayListTest.java
--- mauve/gnu/testlet/java/util/ArrayList/AcuniaArrayListTest.java Base (1.4)
+++ mauve/gnu/testlet/java/util/ArrayList/AcuniaArrayListTest.java Locally Modified (Based On 1.4)
@@ -580,9 +580,21 @@
     catch(ConcurrentModificationException ioobe) { th.check(true); }
     ArrayList al = buildAL();
     it = al.iterator();
-    al.get(0);
     al.trimToSize();
+    try {
+     it.next();
+        th.fail("should throw a ConcurrentModificationException -- 3");
+    } catch(ConcurrentModificationException ioobe) { th.check(true); }
+
+    it = al.iterator();
     al.ensureCapacity(25);
+    try {
+     it.next();
+        th.fail("should throw a ConcurrentModificationException -- 3");
+    } catch(ConcurrentModificationException ioobe) { th.check(true); }
+
+    it = al.iterator();
+    al.get(0);
     al.contains(null);
     al.isEmpty();
     al.indexOf(null);
@@ -596,6 +608,7 @@
      th.check(true);
         }
     catch(ConcurrentModificationException ioobe) { th.fail("should not throw a ConcurrentModificationException -- 2"); }
+
     it = al.iterator();
     al.add("b");
     try {
@@ -603,6 +616,7 @@
         th.fail("should throw a ConcurrentModificationException -- 3");
         }
     catch(ConcurrentModificationException ioobe) { th.check(true); }
+
     it = al.iterator();
     al.add(3,"b");
     try {
@@ -610,6 +624,7 @@
         th.fail("should throw a ConcurrentModificationException -- 4");
         }
     catch(ConcurrentModificationException ioobe) { th.check(true); }
+
     it = al.iterator();
     al.addAll(xal);
     try {
@@ -617,6 +632,7 @@
         th.fail("should throw a ConcurrentModificationException -- 5");
         }
     catch(ConcurrentModificationException ioobe) { th.check(true); }
+
     it = al.iterator();
     al.addAll(2,xal);
     try {
@@ -624,6 +640,7 @@
         th.fail("should throw a ConcurrentModificationException -- 6");
         }
     catch(ConcurrentModificationException ioobe) { th.check(true); }
+
     it = al.iterator();
     al.remove(2);
     try {
@@ -631,6 +648,7 @@
         th.fail("should throw a ConcurrentModificationException -- 8");
         }
     catch(ConcurrentModificationException ioobe) { th.check(true); }
+
     it = al.iterator();
     al.clear();
     try {