This is an automated email from the ASF dual-hosted git repository.

garydgregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-collections.git


The following commit(s) were added to refs/heads/master by this push:
     new a6094d11c Fix TransformedMultiValuedMap.putAll(K, Iterable) NPE for 
null value transformer (#731).
a6094d11c is described below

commit a6094d11c12ea47ae774256f43e82c7d3097899b
Author: Gary Gregory <[email protected]>
AuthorDate: Thu Sep 3 07:09:26 2026 -0400

    Fix TransformedMultiValuedMap.putAll(K, Iterable) NPE for null value
    transformer (#731).
    
    Sort members.
---
 src/changes/changes.xml                            |  2 +-
 .../map/UnmodifiableSortedMapTest.java             | 26 +++++++++++-----------
 .../multimap/TransformedMultiValuedMapTest.java    | 18 +++++++--------
 3 files changed, 23 insertions(+), 23 deletions(-)

diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 34b691150..ccd29a9af 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -33,7 +33,7 @@
     <action type="fix" dev="ggregory" due-to="Thomas Mortagne, Gary Gregory" 
issue="COLLECTIONS-898">AbstractSetTest cannot be used with an explicitly typed 
Set (unless it's based on String) (#727).</action>
     <action type="fix" dev="ggregory" due-to="Naveed Khan, Gary Gregory">Fix 
map and bidimap nextKey() skipping a key and throwing for keys not in the map 
(#728).</action>
     <action type="fix" dev="ggregory" due-to="Naveed Khan, Gary Gregory">Reset 
last element in EnumerationIterator.remove() (#729).</action>
-    <action type="fix" dev="ggregory" due-to="Naveed Khan, Gary Gregory">Fix 
putAll(K, Iterable) NPE for null value transformer (#731).</action>
+    <action type="fix" dev="ggregory" due-to="Naveed Khan, Gary Gregory">Fix 
TransformedMultiValuedMap.putAll(K, Iterable) NPE for null value transformer 
(#731).</action>
     <!-- ADD -->
     <!-- UPDATE -->
     <!-- REMOVE -->
diff --git 
a/src/test/java/org/apache/commons/collections4/map/UnmodifiableSortedMapTest.java
 
b/src/test/java/org/apache/commons/collections4/map/UnmodifiableSortedMapTest.java
index 7ad336be9..e59339d79 100644
--- 
a/src/test/java/org/apache/commons/collections4/map/UnmodifiableSortedMapTest.java
+++ 
b/src/test/java/org/apache/commons/collections4/map/UnmodifiableSortedMapTest.java
@@ -70,19 +70,6 @@ public class UnmodifiableSortedMapTest<K, V> extends 
AbstractSortedMapTest<K, V>
         return UnmodifiableSortedMap.unmodifiableSortedMap(new TreeMap<>());
     }
 
-    @Test
-    void testNextKey() {
-        final SortedMap<String, String> base = new TreeMap<>();
-        base.put("a", "1");
-        base.put("c", "3");
-        final OrderedMap<String, String> map = (OrderedMap<String, String>) 
UnmodifiableSortedMap.unmodifiableSortedMap(base);
-        assertEquals("c", map.nextKey("a"));
-        // an absent key has no next key, whether inside the key range or past 
the end
-        assertNull(map.nextKey("b"));
-        assertNull(map.nextKey("c"));
-        assertNull(map.nextKey("z"));
-    }
-
     @Test
     void testDecorateFactory() {
         final SortedMap<K, V> map = makeFullMap();
@@ -104,6 +91,19 @@ public class UnmodifiableSortedMapTest<K, V> extends 
AbstractSortedMapTest<K, V>
         assertSame(16, map.headMap((K) "we'll").size());
     }
 
+    @Test
+    void testNextKey() {
+        final SortedMap<String, String> base = new TreeMap<>();
+        base.put("a", "1");
+        base.put("c", "3");
+        final OrderedMap<String, String> map = (OrderedMap<String, String>) 
UnmodifiableSortedMap.unmodifiableSortedMap(base);
+        assertEquals("c", map.nextKey("a"));
+        // an absent key has no next key, whether inside the key range or past 
the end
+        assertNull(map.nextKey("b"));
+        assertNull(map.nextKey("c"));
+        assertNull(map.nextKey("z"));
+    }
+
     @Test
     void testSubMap() {
         final SortedMap<K, V> map = makeFullMap();
diff --git 
a/src/test/java/org/apache/commons/collections4/multimap/TransformedMultiValuedMapTest.java
 
b/src/test/java/org/apache/commons/collections4/multimap/TransformedMultiValuedMapTest.java
index 1935f6afc..d55b7a411 100644
--- 
a/src/test/java/org/apache/commons/collections4/multimap/TransformedMultiValuedMapTest.java
+++ 
b/src/test/java/org/apache/commons/collections4/multimap/TransformedMultiValuedMapTest.java
@@ -131,15 +131,6 @@ public class TransformedMultiValuedMapTest<K, V> extends 
AbstractMultiValuedMapT
         assertTrue(map.remove(Integer.valueOf((String) 
els[0])).contains(els[0]));
     }
 
-    @Test
-    @SuppressWarnings("unchecked")
-    void testPutAllIterableWithNullTransformers() {
-        final MultiValuedMap<K, V> map = 
TransformedMultiValuedMap.transformingMap(
-                new ArrayListValuedHashMap<>(), null, null);
-        assertTrue(map.putAll((K) "k", Arrays.asList((V) "a", (V) "b")));
-        assertEquals(Arrays.asList("a", "b"), map.get((K) "k"));
-    }
-
     @Test
     @SuppressWarnings("unchecked")
     void testPutAllIterableAppliesTransformValueOverride() {
@@ -156,6 +147,15 @@ public class TransformedMultiValuedMapTest<K, V> extends 
AbstractMultiValuedMapT
         assertEquals(Arrays.asList("1", "2"), map.get((K) "k"));
     }
 
+    @Test
+    @SuppressWarnings("unchecked")
+    void testPutAllIterableWithNullTransformers() {
+        final MultiValuedMap<K, V> map = 
TransformedMultiValuedMap.transformingMap(
+                new ArrayListValuedHashMap<>(), null, null);
+        assertTrue(map.putAll((K) "k", Arrays.asList((V) "a", (V) "b")));
+        assertEquals(Arrays.asList("a", "b"), map.get((K) "k"));
+    }
+
     @Test
     @SuppressWarnings("unchecked")
     void testValueTransformedMap() {

Reply via email to