1--TEST-- 2PHPUnit_Framework_MockObject_Generator::generate('Foo', array(), 'MockFoo', true, true, true) 3--FILE-- 4<?php 5class Foo 6{ 7 public function bar(Foo $foo) 8 { 9 } 10 11 public function baz(Foo $foo) 12 { 13 } 14} 15 16require __DIR__ . '/../../../vendor/autoload.php'; 17 18$generator = new PHPUnit_Framework_MockObject_Generator; 19 20$mock = $generator->generate( 21 'Foo', 22 array(), 23 'MockFoo', 24 true, 25 true, 26 true 27); 28 29print $mock['code']; 30?> 31--EXPECTF-- 32class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject 33{ 34 private $__phpunit_invocationMocker; 35 private $__phpunit_originalObject; 36 private $__phpunit_configurable = ['bar', 'baz']; 37 38 public function __clone() 39 { 40 $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); 41 } 42 43 public function bar(Foo $foo) 44 { 45 $arguments = array($foo); 46 $count = func_num_args(); 47 48 if ($count > 1) { 49 $_arguments = func_get_args(); 50 51 for ($i = 1; $i < $count; $i++) { 52 $arguments[] = $_arguments[$i]; 53 } 54 } 55 56 $result = $this->__phpunit_getInvocationMocker()->invoke( 57 new PHPUnit_Framework_MockObject_Invocation_Object( 58 'Foo', 'bar', $arguments, '', $this, true 59 ) 60 ); 61 62 return $result; 63 } 64 65 public function baz(Foo $foo) 66 { 67 $arguments = array($foo); 68 $count = func_num_args(); 69 70 if ($count > 1) { 71 $_arguments = func_get_args(); 72 73 for ($i = 1; $i < $count; $i++) { 74 $arguments[] = $_arguments[$i]; 75 } 76 } 77 78 $result = $this->__phpunit_getInvocationMocker()->invoke( 79 new PHPUnit_Framework_MockObject_Invocation_Object( 80 'Foo', 'baz', $arguments, '', $this, true 81 ) 82 ); 83 84 return $result; 85 } 86 87 public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher) 88 { 89 return $this->__phpunit_getInvocationMocker()->expects($matcher); 90 } 91 92 public function method() 93 { 94 $any = new PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount; 95 $expects = $this->expects($any); 96 return call_user_func_array(array($expects, 'method'), func_get_args()); 97 } 98 99 public function __phpunit_setOriginalObject($originalObject) 100 { 101 $this->__phpunit_originalObject = $originalObject; 102 } 103 104 public function __phpunit_getInvocationMocker() 105 { 106 if ($this->__phpunit_invocationMocker === null) { 107 $this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker($this->__phpunit_configurable); 108 } 109 110 return $this->__phpunit_invocationMocker; 111 } 112 113 public function __phpunit_hasMatchers() 114 { 115 return $this->__phpunit_getInvocationMocker()->hasMatchers(); 116 } 117 118 public function __phpunit_verify($unsetInvocationMocker = true) 119 { 120 $this->__phpunit_getInvocationMocker()->verify(); 121 122 if ($unsetInvocationMocker) { 123 $this->__phpunit_invocationMocker = null; 124 } 125 } 126} 127