Chris@14: --TEST-- Chris@14: \PHPUnit\Framework\MockObject\Generator::generate('NS\Foo', array('bar'), 'MockFoo', true, true) Chris@14: --FILE-- Chris@14: generate( Chris@14: 'NS\Foo', Chris@14: array('bar'), Chris@14: 'MockFoo', Chris@14: true, Chris@14: true Chris@14: ); Chris@14: Chris@14: print $mock['code']; Chris@14: ?> Chris@14: --EXPECTF-- Chris@14: class MockFoo extends NS\Foo implements PHPUnit\Framework\MockObject\MockObject Chris@14: { Chris@14: private $__phpunit_invocationMocker; Chris@14: private $__phpunit_originalObject; Chris@14: private $__phpunit_configurable = ['bar']; Chris@14: Chris@14: public function __clone() Chris@14: { Chris@14: $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); Chris@14: } Chris@14: Chris@14: public function bar(NS\Foo $foo) Chris@14: { Chris@14: $arguments = array($foo); Chris@14: $count = func_num_args(); Chris@14: Chris@14: if ($count > 1) { Chris@14: $_arguments = func_get_args(); Chris@14: Chris@14: for ($i = 1; $i < $count; $i++) { Chris@14: $arguments[] = $_arguments[$i]; Chris@14: } Chris@14: } Chris@14: Chris@14: $result = $this->__phpunit_getInvocationMocker()->invoke( Chris@14: new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation( Chris@14: 'NS\Foo', 'bar', $arguments, '', $this, true Chris@14: ) Chris@14: ); Chris@14: Chris@14: return $result; Chris@14: } Chris@14: Chris@14: public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher) Chris@14: { Chris@14: return $this->__phpunit_getInvocationMocker()->expects($matcher); Chris@14: } Chris@14: Chris@14: public function method() Chris@14: { Chris@14: $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount; Chris@14: $expects = $this->expects($any); Chris@14: return call_user_func_array(array($expects, 'method'), func_get_args()); Chris@14: } Chris@14: Chris@14: public function __phpunit_setOriginalObject($originalObject) Chris@14: { Chris@14: $this->__phpunit_originalObject = $originalObject; Chris@14: } Chris@14: Chris@14: public function __phpunit_getInvocationMocker() Chris@14: { Chris@14: if ($this->__phpunit_invocationMocker === null) { Chris@14: $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable); Chris@14: } Chris@14: Chris@14: return $this->__phpunit_invocationMocker; Chris@14: } Chris@14: Chris@14: public function __phpunit_hasMatchers() Chris@14: { Chris@14: return $this->__phpunit_getInvocationMocker()->hasMatchers(); Chris@14: } Chris@14: Chris@14: public function __phpunit_verify($unsetInvocationMocker = true) Chris@14: { Chris@14: $this->__phpunit_getInvocationMocker()->verify(); Chris@14: Chris@14: if ($unsetInvocationMocker) { Chris@14: $this->__phpunit_invocationMocker = null; Chris@14: } Chris@14: } Chris@14: }