summaryrefslogtreecommitdiff
path: root/src/main/java/org/mockito/internal/handler
diff options
context:
space:
mode:
authorPhilip P. Moltmann <moltmann@google.com>2018-03-13 13:04:44 -0700
committerPhilip P. Moltmann <moltmann@google.com>2018-03-13 13:52:45 -0700
commitbf8c1ad2adfe37bae65749ebc46f76c72b475f32 (patch)
tree69aeac615e38207debf91d5bc92bd75b89130993 /src/main/java/org/mockito/internal/handler
parent430a640b73cb58c17545e68711a25327c807a5ae (diff)
downloadmockito-bf8c1ad2adfe37bae65749ebc46f76c72b475f32.tar.gz
Test: atest CtsMockingTestCases CtsInlineMockingTestCases Bug: 74344734 Change-Id: I20ac20aebdb4d7a184d85ad3657585b415f03b7f
Diffstat (limited to 'src/main/java/org/mockito/internal/handler')
-rw-r--r--src/main/java/org/mockito/internal/handler/MockHandlerImpl.java11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/main/java/org/mockito/internal/handler/MockHandlerImpl.java b/src/main/java/org/mockito/internal/handler/MockHandlerImpl.java
index 38f18e9..57a9d43 100644
--- a/src/main/java/org/mockito/internal/handler/MockHandlerImpl.java
+++ b/src/main/java/org/mockito/internal/handler/MockHandlerImpl.java
@@ -8,7 +8,6 @@ import org.mockito.internal.creation.settings.CreationSettings;
import org.mockito.internal.invocation.InvocationMatcher;
import org.mockito.internal.invocation.MatchersBinder;
import org.mockito.internal.listeners.StubbingLookupListener;
-import org.mockito.invocation.InvocationContainer;
import org.mockito.internal.stubbing.InvocationContainerImpl;
import org.mockito.internal.stubbing.OngoingStubbingImpl;
import org.mockito.internal.stubbing.StubbedInvocationMatcher;
@@ -16,6 +15,7 @@ import org.mockito.internal.stubbing.answers.DefaultAnswerValidator;
import org.mockito.internal.verification.MockAwareVerificationMode;
import org.mockito.internal.verification.VerificationDataImpl;
import org.mockito.invocation.Invocation;
+import org.mockito.invocation.InvocationContainer;
import org.mockito.invocation.MockHandler;
import org.mockito.mock.MockCreationSettings;
import org.mockito.verification.VerificationMode;
@@ -92,7 +92,14 @@ public class MockHandlerImpl<T> implements MockHandler<T> {
if (stubbing != null) {
stubbing.captureArgumentsFrom(invocation);
- return stubbing.answer(invocation);
+
+ try {
+ return stubbing.answer(invocation);
+ } finally {
+ //Needed so that we correctly isolate stubbings in some scenarios
+ //see MockitoStubbedCallInAnswerTest or issue #1279
+ mockingProgress().reportOngoingStubbing(ongoingStubbing);
+ }
} else {
Object ret = mockSettings.getDefaultAnswer().answer(invocation);
DefaultAnswerValidator.validateReturnValueFor(invocation, ret);