/** * @param $object * @param $methodName * @param array $parameters * @return mixed */ protected function overrideMethod(&$object, $methodName, array $parameters = []) { $reflection = new \ReflectionClass(get_class($object)); $method = $reflection->getMethod($methodName); return $method->invokeArgs($object, $parameters); }
public function testBuildSignature() { $serv = new Server($this->getApplicationServiceLocator(), []); $ref = new \ReflectionClass('\\JRpc\\Json\\Server\\Server'); $methode = $ref->getMethod('_buildSignature'); $methode->setAccessible(true); $out = $methode->invoke($serv, new ReflectionMethod(new ReflectionClass(new \ReflectionClass('DateTime')), new \ReflectionMethod('DateTime', 'format')), 'storage'); $this->assertInstanceOf('JRpc\\Json\\Server\\Method\\Definition', $out); $this->assertEquals('datetime.format', $out->getName()); $this->assertEquals('storage', $out->getNameSm()); }