diff --git a/src/AspectMock/Core/Mocker.php b/src/AspectMock/Core/Mocker.php index f6c3347..ca380bb 100644 --- a/src/AspectMock/Core/Mocker.php +++ b/src/AspectMock/Core/Mocker.php @@ -18,6 +18,7 @@ class Mocker implements Aspect public function fakeMethodsAndRegisterCalls($class, $declaredClass, $method, $params, $static) { $result = __AM_CONTINUE__; + $invocation = null; if (in_array($method, $this->methodMap)) { $invocation = new \AspectMock\Intercept\MethodInvocation(); @@ -26,7 +27,6 @@ public function fakeMethodsAndRegisterCalls($class, $declaredClass, $method, $pa $invocation->setArguments($params); $invocation->isStatic($static); $invocation->setDeclaredClass($declaredClass); - $result = $this->invokeFakedMethods($invocation); } // Record actual method called, not faked method. @@ -49,6 +49,10 @@ public function fakeMethodsAndRegisterCalls($class, $declaredClass, $method, $pa Registry::registerClassCall($declaredClass, $method, $params); } + if ($invocation instanceof \AspectMock\Intercept\MethodInvocation) { + $result = $this->invokeFakedMethods($invocation); + } + return $result; }