示例#1
0
 public function invoke(Phake_IMock $mock, $method, array $arguments, array &$argumentReference)
 {
     if ($this->mockReader->isObjectFrozen($mock)) {
         $result = new Phake_CallRecorder_VerifierResult(false, array(), 'This object has been frozen.');
         Phake::getClient()->processVerifierResult($result);
     }
 }
示例#2
0
 public function invoke(Phake_IMock $mock, $method, array $arguments, array &$argumentReference)
 {
     $stub = null;
     if ($method == '__call') {
         $stub = $this->mockReader->getStubMapper($mock)->getStubByCall($arguments[0], $argumentReference[1]);
     }
     if ($stub === null) {
         $stub = $this->mockReader->getStubMapper($mock)->getStubByCall($method, $argumentReference);
     }
     if ($stub === null) {
         $answer = $this->mockReader->getDefaultAnswer($mock);
     } else {
         $answer = $stub->getAnswer();
     }
     return $answer;
 }
示例#3
0
 public function __toString()
 {
     $arguments = array();
     foreach ($this->argumentMatchers as $argumentMatcher) {
         $arguments[] = $argumentMatcher->__toString();
     }
     return "Expected {$this->mockReader->getName($this->getObject())}->{$this->getMethod()}(" . implode(', ', $arguments) . ") to be called {$this->getVerifierMode()->__toString()}";
 }
示例#4
0
 /**
  * Verifies that the call to __call was made on the given object with the parameters passed into the constructor
  *
  * @param Phake_IMock                      $obj
  * @param Phake_CallRecorder_IVerifierMode $verifierMode
  *
  * @return array
  */
 public function isCalledOn(Phake_IMock $obj, Phake_CallRecorder_IVerifierMode $verifierMode = null)
 {
     if ($verifierMode === null) {
         $verifierMode = new Phake_CallRecorder_VerifierMode_Times(1);
     }
     $verifier = new Phake_CallRecorder_Verifier($this->mockReader->getCallRecorder($obj), $obj);
     $expectation = new Phake_CallRecorder_CallExpectation($obj, '__call', $this->arguments, $verifierMode, $this->mockReader);
     $result = $verifier->verifyCall($expectation);
     return $this->client->processVerifierResult($result);
 }
示例#5
0
 public function invoke(Phake_IMock $mock, $method, array $arguments, array &$argumentReference)
 {
     if ($method == '__call') {
         $this->mockReader->getCallRecorder($mock)->recordCall(new Phake_CallRecorder_Call($mock, $arguments[0], $arguments[1], $this->mockReader));
     }
 }
示例#6
0
文件: Freezer.php 项目: ngyuki/phake
 /**
  * Freezes the given $mock and notifies the given $client
  *
  * @param Phake_IMock          $mock
  * @param Phake_Client_IClient $client
  */
 public function freeze(Phake_IMock $mock, Phake_Client_IClient $client)
 {
     $client->processObjectFreeze();
     $this->mockReader->setIsObjectFrozen($mock, true);
 }
示例#7
0
 /**
  * Binds an answer to the the classes
  *
  * @param Phake_Stubber_IAnswer $answer
  *
  * @return Phake_Proxies_AnswerCollectionProxy
  */
 public function bindAnswer(Phake_Stubber_IAnswer $answer)
 {
     $collection = new Phake_Stubber_AnswerCollection($answer);
     $this->mockReader->getStubMapper($this->obj)->mapStubToMatcher($collection, $this->matcher);
     return new Phake_Proxies_AnswerCollectionProxy($collection);
 }
示例#8
0
文件: Phake.php 项目: ngyuki/phake
 /**
  * Allows for verifying that no interaction occurred with a mock object
  *
  * @param Phake_IMock $mock
  */
 public static function verifyNoInteraction(Phake_IMock $mock)
 {
     foreach (func_get_args() as $mock) {
         $reader = new Phake_MockReader();
         $verifier = new Phake_CallRecorder_Verifier($reader->getCallRecorder($mock), $mock);
         self::getClient()->processVerifierResult($verifier->verifyNoCalls());
     }
 }
示例#9
0
 public function testSetIsObjectFrozen()
 {
     $this->mock->__PHAKE_isFrozen = true;
     $this->reader->setIsObjectFrozen($this->mock, false);
     $this->assertFalse($this->mock->__PHAKE_isFrozen);
 }
示例#10
0
文件: Resetter.php 项目: ngyuki/phake
 /**
  * Resets the given $mock
  *
  * @param Phake_IMock $mock
  */
 public function reset(Phake_IMock $mock)
 {
     $this->mockReader->setIsObjectFrozen($mock, false);
     $this->mockReader->getStubMapper($mock)->removeAllAnswers();
     $this->mockReader->getCallRecorder($mock)->removeAllCalls();
 }