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

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

commit 3d8d96c7d2343a64c823f933b11fded51f4970d8
Author: Pengyu Nie <prodigy....@gmail.com>
AuthorDate: Tue Nov 26 15:45:33 2019 -0600

    [COLLECTIONS-737]: Return 0 immeditaly if the given iterable is null in 
IterableUtils#size. Update tests.
---
 src/main/java/org/apache/commons/collections4/IterableUtils.java    | 3 +++
 .../java/org/apache/commons/collections4/FluentIterableTest.java    | 6 ------
 .../java/org/apache/commons/collections4/IterableUtilsTest.java     | 5 +++++
 3 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/src/main/java/org/apache/commons/collections4/IterableUtils.java 
b/src/main/java/org/apache/commons/collections4/IterableUtils.java
index 125002d..bb37d91 100644
--- a/src/main/java/org/apache/commons/collections4/IterableUtils.java
+++ b/src/main/java/org/apache/commons/collections4/IterableUtils.java
@@ -797,6 +797,9 @@ public class IterableUtils {
      * @return the number of elements contained in the iterable
      */
     public static int size(final Iterable<?> iterable) {
+        if (iterable == null) {
+            return 0;
+        }
         if (iterable instanceof Collection<?>) {
             return ((Collection<?>) iterable).size();
         }
diff --git 
a/src/test/java/org/apache/commons/collections4/FluentIterableTest.java 
b/src/test/java/org/apache/commons/collections4/FluentIterableTest.java
index 6c38914..4b72777 100644
--- a/src/test/java/org/apache/commons/collections4/FluentIterableTest.java
+++ b/src/test/java/org/apache/commons/collections4/FluentIterableTest.java
@@ -416,12 +416,6 @@ public class FluentIterableTest {
 
     @Test
     public void size() {
-        try {
-            FluentIterable.of((Iterable<?>) null).size();
-            fail("expecting NullPointerException");
-        } catch (final NullPointerException npe) {
-            // expected
-        }
         assertEquals(0, FluentIterable.of(emptyIterable).size());
         assertEquals(IterableUtils.toList(iterableOdd).size(), 
FluentIterable.of(iterableOdd).size());
     }
diff --git 
a/src/test/java/org/apache/commons/collections4/IterableUtilsTest.java 
b/src/test/java/org/apache/commons/collections4/IterableUtilsTest.java
index 5cb4045..b826f72 100644
--- a/src/test/java/org/apache/commons/collections4/IterableUtilsTest.java
+++ b/src/test/java/org/apache/commons/collections4/IterableUtilsTest.java
@@ -579,4 +579,9 @@ public class IterableUtilsTest {
             // expected
         }
     }
+
+    @Test
+    public void size() {
+        assertEquals(0, IterableUtils.size(null));
+    }
 }

Reply via email to