interface.phpt (2724B)
1 --TEST-- 2 PHPUnit_Framework_MockObject_Generator::generate('Foo', array(), 'MockFoo', TRUE, TRUE) 3 --FILE-- 4 <?php 5 interface Foo 6 { 7 public function bar(Foo $foo); 8 } 9 10 require_once 'PHPUnit/Autoload.php'; 11 require_once 'Text/Template.php'; 12 13 $mock = PHPUnit_Framework_MockObject_Generator::generate( 14 'Foo', 15 array(), 16 'MockFoo', 17 TRUE, 18 TRUE 19 ); 20 21 print $mock['code']; 22 ?> 23 --EXPECTF-- 24 class MockFoo implements PHPUnit_Framework_MockObject_MockObject, Foo 25 { 26 private static $__phpunit_staticInvocationMocker; 27 private $__phpunit_invocationMocker; 28 29 public function __clone() 30 { 31 $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker(); 32 } 33 34 public function bar(Foo $foo) 35 { 36 $arguments = array($foo); 37 $count = func_num_args(); 38 39 if ($count > 1) { 40 $_arguments = func_get_args(); 41 42 for ($i = 1; $i < $count; $i++) { 43 $arguments[] = $_arguments[$i]; 44 } 45 } 46 47 $result = $this->__phpunit_getInvocationMocker()->invoke( 48 new PHPUnit_Framework_MockObject_Invocation_Object( 49 'Foo', 'bar', $arguments, $this, TRUE 50 ) 51 ); 52 53 return $result; 54 } 55 56 public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher) 57 { 58 return $this->__phpunit_getInvocationMocker()->expects($matcher); 59 } 60 61 public static function staticExpects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher) 62 { 63 return self::__phpunit_getStaticInvocationMocker()->expects($matcher); 64 } 65 66 public function __phpunit_getInvocationMocker() 67 { 68 if ($this->__phpunit_invocationMocker === NULL) { 69 $this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker; 70 } 71 72 return $this->__phpunit_invocationMocker; 73 } 74 75 public static function __phpunit_getStaticInvocationMocker() 76 { 77 if (self::$__phpunit_staticInvocationMocker === NULL) { 78 self::$__phpunit_staticInvocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker; 79 } 80 81 return self::$__phpunit_staticInvocationMocker; 82 } 83 84 public function __phpunit_hasMatchers() 85 { 86 return self::__phpunit_getStaticInvocationMocker()->hasMatchers() || 87 $this->__phpunit_getInvocationMocker()->hasMatchers(); 88 } 89 90 public function __phpunit_verify() 91 { 92 self::__phpunit_getStaticInvocationMocker()->verify(); 93 $this->__phpunit_getInvocationMocker()->verify(); 94 } 95 96 public function __phpunit_cleanup() 97 { 98 self::$__phpunit_staticInvocationMocker = NULL; 99 $this->__phpunit_invocationMocker = NULL; 100 } 101 }