annotate vendor/phpunit/phpunit-mock-objects/tests/Generator/interface.phpt @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents 1fec387a4317
children
rev   line source
Chris@14 1 --TEST--
Chris@14 2 \PHPUnit\Framework\MockObject\Generator::generate('Foo', array(), 'MockFoo', true, true)
Chris@14 3 --FILE--
Chris@14 4 <?php
Chris@14 5 interface Foo
Chris@14 6 {
Chris@14 7 public function bar(Foo $foo);
Chris@14 8 }
Chris@14 9
Chris@14 10 require __DIR__ . '/../../vendor/autoload.php';
Chris@14 11
Chris@14 12 $generator = new \PHPUnit\Framework\MockObject\Generator;
Chris@14 13
Chris@14 14 $mock = $generator->generate(
Chris@14 15 'Foo',
Chris@14 16 array(),
Chris@14 17 'MockFoo',
Chris@14 18 true,
Chris@14 19 true
Chris@14 20 );
Chris@14 21
Chris@14 22 print $mock['code'];
Chris@14 23 ?>
Chris@14 24 --EXPECTF--
Chris@14 25 class MockFoo implements PHPUnit\Framework\MockObject\MockObject, Foo
Chris@14 26 {
Chris@14 27 private $__phpunit_invocationMocker;
Chris@14 28 private $__phpunit_originalObject;
Chris@14 29 private $__phpunit_configurable = ['bar'];
Chris@14 30
Chris@14 31 public function __clone()
Chris@14 32 {
Chris@14 33 $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker();
Chris@14 34 }
Chris@14 35
Chris@14 36 public function bar(Foo $foo)
Chris@14 37 {
Chris@14 38 $arguments = array($foo);
Chris@14 39 $count = func_num_args();
Chris@14 40
Chris@14 41 if ($count > 1) {
Chris@14 42 $_arguments = func_get_args();
Chris@14 43
Chris@14 44 for ($i = 1; $i < $count; $i++) {
Chris@14 45 $arguments[] = $_arguments[$i];
Chris@14 46 }
Chris@14 47 }
Chris@14 48
Chris@14 49 $result = $this->__phpunit_getInvocationMocker()->invoke(
Chris@14 50 new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation(
Chris@14 51 'Foo', 'bar', $arguments, '', $this, true
Chris@14 52 )
Chris@14 53 );
Chris@14 54
Chris@14 55 return $result;
Chris@14 56 }
Chris@14 57
Chris@14 58 public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher)
Chris@14 59 {
Chris@14 60 return $this->__phpunit_getInvocationMocker()->expects($matcher);
Chris@14 61 }
Chris@14 62
Chris@14 63 public function method()
Chris@14 64 {
Chris@14 65 $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount;
Chris@14 66 $expects = $this->expects($any);
Chris@14 67 return call_user_func_array(array($expects, 'method'), func_get_args());
Chris@14 68 }
Chris@14 69
Chris@14 70 public function __phpunit_setOriginalObject($originalObject)
Chris@14 71 {
Chris@14 72 $this->__phpunit_originalObject = $originalObject;
Chris@14 73 }
Chris@14 74
Chris@14 75 public function __phpunit_getInvocationMocker()
Chris@14 76 {
Chris@14 77 if ($this->__phpunit_invocationMocker === null) {
Chris@14 78 $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable);
Chris@14 79 }
Chris@14 80
Chris@14 81 return $this->__phpunit_invocationMocker;
Chris@14 82 }
Chris@14 83
Chris@14 84 public function __phpunit_hasMatchers()
Chris@14 85 {
Chris@14 86 return $this->__phpunit_getInvocationMocker()->hasMatchers();
Chris@14 87 }
Chris@14 88
Chris@14 89 public function __phpunit_verify($unsetInvocationMocker = true)
Chris@14 90 {
Chris@14 91 $this->__phpunit_getInvocationMocker()->verify();
Chris@14 92
Chris@14 93 if ($unsetInvocationMocker) {
Chris@14 94 $this->__phpunit_invocationMocker = null;
Chris@14 95 }
Chris@14 96 }
Chris@14 97 }