Ejemplo n.º 1
0
 function testPropertyStubbingOverwritesArgumentsStubbing()
 {
     /** @var Mockster|InjectMocksTest_InjectableClass $injectable */
     $injectable = new Mockster(InjectMocksTest_InjectableClass::class);
     /** @var Mockster|InjectMocksTest_FooClass $injected */
     $injected = new Mockster(InjectMocksTest_FooClass::class);
     Mockster::stub($injected->foo())->will()->return_('argument');
     Mockster::stub($injectable->bas->foo())->will()->return_('property');
     /** @var InjectMocksTest_InjectableClass $mock */
     $mock = $injectable->__uut(['bas' => $injected->__mock()]);
     $this->assert($mock->bas->foo(), 'property');
 }
Ejemplo n.º 2
0
 public function before()
 {
     $this->foo = new Mockster(CheckReturnTypeTest_FooClass::class);
     $this->mock = $this->foo->__mock();
     $this->uut = $this->foo->__uut();
 }
Ejemplo n.º 3
0
 function testProtectedMethods()
 {
     $foo = new Mockster(StubMethodsTest_FooClass::class);
     /** @noinspection PhpUndefinedMethodInspection */
     Mockster::stub($foo->protectedMethod())->will()->return_('bar');
     /** @noinspection PhpUndefinedMethodInspection */
     Mockster::stub($foo->proxyMethod())->dontStub();
     /** @var StubMethodsTest_FooClass $mock */
     $mock = $foo->__mock();
     $this->assert($mock->proxyMethod(), "bar");
 }
Ejemplo n.º 4
0
 public function before()
 {
     $this->foo = new Mockster(RecordStubUsageTest_FooClass::class);
     $this->mock = $this->foo->__mock();
 }
Ejemplo n.º 5
0
 function testKeepVariadicMethod()
 {
     if (!method_exists(\ReflectionMethod::class, 'isVariadic')) {
         $this->markIncomplete('Variadic methods requires PHP 5.6');
     }
     eval('
             class CreateMocksTest_VariadicMethod {
                 public function variadic(...$a) {
                     return $a;
                 }
             }');
     /** @var Mockster|object $methods */
     $methods = new Mockster('CreateMocksTest_VariadicMethod');
     /** @var object $mock */
     $mock = $methods->__mock();
     Mockster::stub($methods->variadic('one', 'two'))->will()->call(function ($args) {
         return json_encode($args);
     });
     $this->assert->contains($mock->variadic('one', 'two'), '"0":"one","1":"two"');
 }