Fix the ConcurrentModification test that fails in jdk9+
Modification registration seems to changed in Java 9. Now if the asked capacity in `ensureCapacity` function is less than current capacity, no modification is registered.
This commit is contained in:
committed by
Space Team
parent
ac0e493bac
commit
bf1c9774aa
@@ -167,8 +167,8 @@ actual class ArrayList<E> private constructor(
|
|||||||
|
|
||||||
final actual fun ensureCapacity(minCapacity: Int) {
|
final actual fun ensureCapacity(minCapacity: Int) {
|
||||||
if (backingList != null) throw IllegalStateException() // just in case somebody casts subList to ArrayList
|
if (backingList != null) throw IllegalStateException() // just in case somebody casts subList to ArrayList
|
||||||
registerModification()
|
|
||||||
if (minCapacity <= backingArray.size) return
|
if (minCapacity <= backingArray.size) return
|
||||||
|
registerModification()
|
||||||
ensureCapacityInternal(minCapacity)
|
ensureCapacityInternal(minCapacity)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -139,8 +139,6 @@ class ConcurrentModificationTest {
|
|||||||
val operations = listOf<CollectionOperation<ArrayList<String>>>(
|
val operations = listOf<CollectionOperation<ArrayList<String>>>(
|
||||||
CollectionOperation("trimToSize()") { trimToSize() },
|
CollectionOperation("trimToSize()") { trimToSize() },
|
||||||
CollectionOperation("ensureCapacity(minCapacity > capacity)") { ensureCapacity(100) },
|
CollectionOperation("ensureCapacity(minCapacity > capacity)") { ensureCapacity(100) },
|
||||||
CollectionOperation("ensureCapacity(minCapacity < capacity)") { ensureCapacity(1) },
|
|
||||||
CollectionOperation("ensureCapacity(minCapacity == size)") { ensureCapacity(size) },
|
|
||||||
)
|
)
|
||||||
|
|
||||||
fun testThrowsCME(withArrayList: WithCollection<ArrayList<String>>) {
|
fun testThrowsCME(withArrayList: WithCollection<ArrayList<String>>) {
|
||||||
|
|||||||
Reference in New Issue
Block a user