コード例 #1
0
 /**
  * @test
  * it should return proper clas and method name for instance method replacement requests
  */
 public function it_should_return_proper_clas_and_method_name_for_instance_method_replacement_requests()
 {
     $sut = ReplacementRequest::on(__NAMESPACE__ . '\\RequestClassOne->methodTwo');
     $this->assertEquals(__NAMESPACE__ . '\\RequestClassOne', $sut->getClassName());
     $this->assertEquals('methodTwo', $sut->getMethodName());
 }
コード例 #2
0
 /**
  * @param $functionName
  * @param $returnValue
  *
  * @return mixed|null|Call\Verifier\InstanceMethodCallVerifier|static
  * @throws \Exception
  */
 private static function _replace($functionName, $returnValue)
 {
     $request = ReplacementRequest::on($functionName);
     $returnValue = ReturnValue::from($returnValue);
     $methodName = $request->getMethodName();
     if ($request->isClass()) {
         return self::get_instance_replacement_chain_head($functionName);
     }
     if ($request->isInstanceMethod()) {
         return self::get_instance_replacement($request, $returnValue);
     }
     return self::get_function_or_static_method_replacement($functionName, $returnValue, $request, $methodName);
 }