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)); + } }