From b459660385c0a3678df6d7c41400347b84bbd7b1 Mon Sep 17 00:00:00 2001 From: Szczepan Faber Date: Fri, 12 Aug 2016 19:15:03 -0700 Subject: [PATCH] Protected from null argument Following neat feedback from Christian. Issue #384 --- .../framework/DefaultMockitoFramework.java | 8 ++++++++ .../DefaultMockitoFrameworkTest.java | 19 +++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 src/test/java/org/mockito/internal/framework/DefaultMockitoFrameworkTest.java diff --git a/src/main/java/org/mockito/internal/framework/DefaultMockitoFramework.java b/src/main/java/org/mockito/internal/framework/DefaultMockitoFramework.java index 02df1e5f01..007a7c0ee7 100644 --- a/src/main/java/org/mockito/internal/framework/DefaultMockitoFramework.java +++ b/src/main/java/org/mockito/internal/framework/DefaultMockitoFramework.java @@ -21,12 +21,20 @@ public void setStubbingListener(StubbingListener listener) { } public void addListener(MockitoListener listener) { + assertNotNull(listener); if (listener instanceof MockCreationListener) { mockingProgress().addListener(listener); } } public void removeListener(MockitoListener listener) { + assertNotNull(listener); mockingProgress().removeListener(listener); } + + private void assertNotNull(MockitoListener listener) { + if (listener == null) { + throw new IllegalArgumentException("listener cannot be null"); + } + } } \ No newline at end of file diff --git a/src/test/java/org/mockito/internal/framework/DefaultMockitoFrameworkTest.java b/src/test/java/org/mockito/internal/framework/DefaultMockitoFrameworkTest.java new file mode 100644 index 0000000000..02e9be9c01 --- /dev/null +++ b/src/test/java/org/mockito/internal/framework/DefaultMockitoFrameworkTest.java @@ -0,0 +1,19 @@ +package org.mockito.internal.framework; + +import org.junit.Test; +import org.mockitoutil.TestBase; + +public class DefaultMockitoFrameworkTest extends TestBase { + + DefaultMockitoFramework framework = new DefaultMockitoFramework(); + + @Test(expected = IllegalArgumentException.class) + public void prevents_adding_null_listener() { + framework.addListener(null); + } + + @Test(expected = IllegalArgumentException.class) + public void prevents_removing_null_listener() { + framework.addListener(null); + } +} \ No newline at end of file