ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/test/tck/MapTest.java
(Generate patch)

Comparing jsr166/src/test/tck/MapTest.java (file contents):
Revision 1.4 by jsr166, Tue Dec 18 03:54:01 2018 UTC vs.
Revision 1.8 by jsr166, Mon Jul 8 21:18:36 2019 UTC

# Line 95 | Line 95 | public class MapTest extends JSR166TestC
95       */
96      public void testBug8186171() {
97          if (!impl.supportsSetValue()) return;
98 +        if (!atLeastJava10()) return; // jdk9 is no longer maintained
99          final ThreadLocalRandom rnd = ThreadLocalRandom.current();
100          final boolean permitsNullValues = impl.permitsNullValues();
101          final Object v1 = (permitsNullValues && rnd.nextBoolean())
# Line 173 | Line 174 | public class MapTest extends JSR166TestC
174          assertEquals(size1 + size2, m1.size());
175      }
176  
177 +    /**
178 +     * 8222930: ConcurrentSkipListMap.clone() shares size variable between original and clone
179 +     */
180 +    public void testClone() {
181 +        final ThreadLocalRandom rnd = ThreadLocalRandom.current();
182 +        final int size = rnd.nextInt(4);
183 +        final Map map = impl.emptyMap();
184 +        for (int i = 0; i < size; i++)
185 +            map.put(impl.makeKey(i), impl.makeValue(i));
186 +        final Map clone = cloneableClone(map);
187 +        if (clone == null) return;      // not cloneable?
188 +
189 +        assertEquals(size, map.size());
190 +        assertEquals(size, clone.size());
191 +        assertEquals(map.isEmpty(), clone.isEmpty());
192 +
193 +        clone.put(impl.makeKey(-1), impl.makeValue(-1));
194 +        assertEquals(size, map.size());
195 +        assertEquals(size + 1, clone.size());
196 +
197 +        clone.clear();
198 +        assertEquals(size, map.size());
199 +        assertEquals(0, clone.size());
200 +        assertTrue(clone.isEmpty());
201 +    }
202 +
203   //     public void testFailsIntentionallyForDebugging() {
204   //         fail(impl.klazz().getSimpleName());
205   //     }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines