class_implementing_interface_dont_call_parent_constructor.phpt 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. --TEST--
  2. PHPUnit_Framework_MockObject_Generator::generate('Foo', array(), 'MockFoo', TRUE)
  3. --FILE--
  4. <?php
  5. interface IFoo
  6. {
  7. public function __construct($bar);
  8. }
  9. class Foo implements IFoo
  10. {
  11. public function __construct($bar)
  12. {
  13. }
  14. }
  15. require __DIR__ . '/../../vendor/autoload.php';
  16. $generator = new PHPUnit_Framework_MockObject_Generator;
  17. $mock = $generator->generate(
  18. 'Foo',
  19. array(),
  20. 'MockFoo',
  21. TRUE
  22. );
  23. print $mock['code'];
  24. ?>
  25. --EXPECTF--
  26. class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
  27. {
  28. private $__phpunit_invocationMocker;
  29. private $__phpunit_originalObject;
  30. public function __clone()
  31. {
  32. $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker();
  33. }
  34. public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
  35. {
  36. return $this->__phpunit_getInvocationMocker()->expects($matcher);
  37. }
  38. public function method()
  39. {
  40. $any = new PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount;
  41. $expects = $this->expects($any);
  42. return call_user_func_array(array($expects, 'method'), func_get_args());
  43. }
  44. public function __phpunit_setOriginalObject($originalObject)
  45. {
  46. $this->__phpunit_originalObject = $originalObject;
  47. }
  48. public function __phpunit_getInvocationMocker()
  49. {
  50. if ($this->__phpunit_invocationMocker === NULL) {
  51. $this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker;
  52. }
  53. return $this->__phpunit_invocationMocker;
  54. }
  55. public function __phpunit_hasMatchers()
  56. {
  57. return $this->__phpunit_getInvocationMocker()->hasMatchers();
  58. }
  59. public function __phpunit_verify()
  60. {
  61. $this->__phpunit_getInvocationMocker()->verify();
  62. $this->__phpunit_invocationMocker = NULL;
  63. }
  64. }