Ejemplo n.º 1
0
 public function testDestructMocked()
 {
     $newClassName = __CLASS__ . '_TestClass' . uniqid();
     $mockedClass = 'PhakeTest_DestructorClass';
     $this->classGen->generate($newClassName, $mockedClass);
     /** @var $recorder Phake_CallRecorder_Recorder */
     $recorder = $this->getMock('Phake_CallRecorder_Recorder');
     $mapper = new Phake_Stubber_StubMapper();
     $answer = new Phake_Stubber_Answers_ParentDelegate();
     $mock = $this->classGen->instantiate($newClassName, $recorder, $mapper, $answer);
     unset($mock);
 }
Ejemplo n.º 2
0
 /**
  * Creates a new mock class than can be stubbed and verified.
  *
  * @param string                         $mockedClass   - The name of the class to mock
  * @param Phake_ClassGenerator_MockClass $mockGenerator - The generator used to construct mock classes
  * @param Phake_CallRecorder_Recorder    $callRecorder
  * @param Phake_Stubber_IAnswer          $defaultAnswer
  * @param array                          $constructorArgs
  *
  * @throws InvalidArgumentException
  * @return mixed
  */
 public function mock($mockedClass, Phake_ClassGenerator_MockClass $mockGenerator, Phake_CallRecorder_Recorder $callRecorder, Phake_Stubber_IAnswer $defaultAnswer, array $constructorArgs = null)
 {
     if (!class_exists($mockedClass, true) && !interface_exists($mockedClass, true)) {
         throw new InvalidArgumentException("The class / interface [{$mockedClass}] does not exist. Check the spelling and make sure it is loadable.");
     }
     if (!isset($this->cachedClasses[$mockedClass])) {
         $newClassName = $this->generateUniqueClassName($mockedClass);
         $mockGenerator->generate($newClassName, $mockedClass);
         $this->cachedClasses[$mockedClass] = $newClassName;
     }
     return $mockGenerator->instantiate($this->cachedClasses[$mockedClass], $callRecorder, new Phake_Stubber_StubMapper(), $defaultAnswer, $constructorArgs);
 }
Ejemplo n.º 3
0
 public function testSerializableMock()
 {
     $newClassName = __CLASS__ . '_TestClass' . uniqid();
     $mockedClass = 'PhakeTest_SerializableClass';
     $this->classGen->generate($newClassName, $mockedClass, $this->infoRegistry);
     /** @var $recorder Phake_CallRecorder_Recorder */
     $recorder = $this->getMock('Phake_CallRecorder_Recorder');
     $mapper = new Phake_Stubber_StubMapper();
     $answer = new Phake_Stubber_Answers_ParentDelegate();
     try {
         $mock = $this->classGen->instantiate($newClassName, $recorder, $mapper, $answer);
         $this->assertInstanceOf('PhakeTest_SerializableClass', $mock);
     } catch (\Exception $e) {
         $this->fail("Can't instantiate Serializable Object");
     }
 }