예제 #1
0
 /**
  * Constructor
  */
 public function __construct()
 {
     $mockBuilder = new \PHPUnit_Framework_MockObject_Generator();
     $this->variableProvider = $mockBuilder->getMock(VariableProviderInterface::class);
     $this->viewHelperVariableContainer = $mockBuilder->getMock(ViewHelperVariableContainer::class, ['dummy']);
     $this->viewHelperResolver = $mockBuilder->getMock(ViewHelperResolver::class, ['dummy']);
     $this->viewHelperInvoker = $mockBuilder->getMock(ViewHelperInvoker::class, ['dummy']);
     $this->templateParser = $mockBuilder->getMock(TemplateParser::class, ['dummy']);
     $this->templateCompiler = $mockBuilder->getMock(TemplateCompiler::class, ['dummy']);
     $this->templatePaths = $mockBuilder->getMock(TemplatePaths::class, ['dummy']);
     $this->cache = $mockBuilder->getMock(FluidCacheInterface::class);
 }
예제 #2
0
 /**
  * Get VCS adapter mock
  *
  * @return object
  */
 protected static function getVcsAdapterMock()
 {
     $generator = new \PHPUnit_Framework_MockObject_Generator();
     $vcsAdapter = $generator->getMock('PreCommit\\Vcs\\Git');
     $vcsAdapter->expects(self::once())->method('getAffectedFiles')->will(self::returnValue([]));
     return $vcsAdapter;
 }
 public function setUp()
 {
     $this->unfilteredMessageBroker = $this->getMock('Deicer\\Pubsub\\UnfilteredMessageBrokerInterface');
     $this->topicFilteredMessageBroker = $this->getMock('Deicer\\Pubsub\\TopicFilteredMessageBrokerInterface');
     $this->messageBuilder = $this->getMock('Deicer\\Pubsub\\MessageBuilderInterface');
     $this->composite = $this->getMock('Deicer\\Model\\ModelCompositeInterface');
     $this->hydrator = $this->getMock('Deicer\\Model\\RecursiveModelCompositeHydratorInterface');
     $this->hydratorException = new TestableHydratorException('Unhandled hydrator exception');
     $this->message = $this->getMock('Deicer\\Pubsub\\MessageInterface');
     $this->subscriber = $this->getMock('Deicer\\Pubsub\\SubscriberInterface');
     $this->message->expects($this->any())->method('getPublisher')->will($this->returnValue($this->fixture));
     $this->messageBuilder->expects($this->any())->method('withTopic')->will($this->returnSelf());
     $this->messageBuilder->expects($this->any())->method('withContent')->will($this->returnSelf());
     $this->messageBuilder->expects($this->any())->method('withPublisher')->will($this->returnSelf());
     $this->messageBuilder->expects($this->any())->method('withAttributes')->will($this->returnSelf());
     $this->messageBuilder->expects($this->any())->method('build')->will($this->returnValue($this->message));
     $this->composite->expects($this->any())->method('count')->will($this->returnValue(0));
     // Hydrator returns composite with count equal to array element count
     $callback = function ($values) {
         $mockBuilder = new MockGenerator();
         $composite = $mockBuilder->getMock('Deicer\\Model\\ModelCompositeInterface');
         $composite->expects(TestCase::any())->method('count')->will(TestCase::returnValue(count($values)));
         return $composite;
     };
     $this->hydrator->expects($this->any())->method('exchangeArray')->with($this->isType('array'))->will($this->returnCallback($callback));
     $this->setUpFixture()->setUpFixtureWithExceptionThrowingFetchData()->setUpFixtureWithNonArrayReturningFetchData()->setUpFixtureWithEmptyArrayReturningFetchData()->setUpFixtureWithModelIncompatibleFetchData()->setUpFixtureWithDataProviderDependency()->setUpMockFixture();
 }
예제 #4
0
 /**
  * @covers PHPUnit_Framework_MockObject_Generator::getMock
  */
 public function testCanInvokeMethodsOfNonExistentClass()
 {
     $className = 'X' . md5(microtime());
     $mock = $this->generator->getMock($className, ['someMethod']);
     $mock->expects($this->once())->method('someMethod');
     $this->assertNull($mock->someMethod());
 }
예제 #5
0
 public static function factory($class, $params = array(), $parent = '')
 {
     $mock = \PHPUnit_Framework_MockObject_Generator::getMock($class, array(), array(), '', false);
     self::bindParameters($mock, $params);
     $mock->__mocked = $class;
     return $mock;
 }
예제 #6
0
 /**
  * ReflectionClass::getMethods for SoapClient on PHP 5.3 produces PHP Fatal Error
  * @runInSeparateProcess
  */
 public function testGetMockForSoapClientReflectionMethodsDuplication()
 {
     if (version_compare(PHP_VERSION, '5.4.0', '>=')) {
         $this->markTestSkipped('Only for PHP < 5.4.0');
     }
     $mock = $this->generator->getMock('SoapClient', array(), array(), '', false);
     $this->assertInstanceOf('SoapClient', $mock);
 }
예제 #7
0
 /**
  * @covers PHPUnit_Framework_MockObject_Generator::getObject
  */
 public function testMockObjectHasUniqueIdSoThatTwoMockObjectsOfTheSameClassAreNotEqual()
 {
     $mock1 = PHPUnit_Framework_MockObject_Generator::getMock('stdClass');
     $this->assertSame(0, $mock1->__phpunit_mockObjectId);
     $mock2 = PHPUnit_Framework_MockObject_Generator::getMock('stdClass');
     $this->assertSame(1, $mock2->__phpunit_mockObjectId);
     $this->assertNotEquals($mock1, $mock2);
 }
예제 #8
0
 public static function workers()
 {
     $mockGenerator = new \PHPUnit_Framework_MockObject_Generator();
     $event = 'PHPExtra\\EventManager\\Event\\Event';
     $listener = $mockGenerator->getMock('PHPExtra\\EventManager\\Listener\\Listener');
     /** @var Listener $listener */
     return array(array(array(new Worker(1, $listener, 'dummy1', $event, Priority::NORMAL), new Worker(2, $listener, 'dummy2', $event, Priority::NORMAL), new Worker(3, $listener, 'dummy3', $event, Priority::NORMAL))));
 }
예제 #9
0
파일: Project.php 프로젝트: hpbuniat/testy
 /**
  * Get a plain command-object mock
  *
  * @return \Testy\Project
  */
 public static function getPlainMock()
 {
     $oMockBuilder = new \PHPUnit_Framework_MockObject_Generator();
     $oMock = $oMockBuilder->getMock('\\Testy\\Project');
     $oMock->expects(\PHPUnit_Framework_TestCase::any())->method('getName')->will(\PHPUnit_Framework_TestCase::returnValue(\Testy\CLI\Application::NAME));
     $oMock->expects(\PHPUnit_Framework_TestCase::any())->method('getProjectHash')->will(\PHPUnit_Framework_TestCase::returnValue(md5(rand())));
     return $oMock;
 }
예제 #10
0
 function __construct($class, $params = array())
 {
     if (!class_exists($class)) {
         throw new \RuntimeException("Stubbed class {$class} doesn't exist");
     }
     $this->mockedClass = $class;
     $this->mock = PHPUnit_Framework_MockObject_Generator::getMock($class, array(), array(), '', false);
     $this->bindParameters($params);
 }
예제 #11
0
파일: Command.php 프로젝트: hpbuniat/testy
 /**
  * Get a plain command-object mock
  *
  * @param  string $sReturn
  *
  * @return \Testy\Util\Command
  */
 public static function getPlainMock($sReturn = '')
 {
     $oMockBuilder = new \PHPUnit_Framework_MockObject_Generator();
     $oCommandMock = $oMockBuilder->getMock('\\Testy\\Util\\Command');
     $oCommandMock->expects(\PHPUnit_Framework_TestCase::any())->method('execute')->will(\PHPUnit_Framework_TestCase::returnSelf());
     $oCommandMock->expects(\PHPUnit_Framework_TestCase::any())->method('reset')->will(\PHPUnit_Framework_TestCase::returnSelf());
     $oCommandMock->expects(\PHPUnit_Framework_TestCase::any())->method('setCommand')->will(\PHPUnit_Framework_TestCase::returnSelf());
     $oCommandMock->expects(\PHPUnit_Framework_TestCase::any())->method('get')->will(\PHPUnit_Framework_TestCase::returnValue($sReturn));
     return $oCommandMock;
 }
 /**
  * Same as "testGetMockForSingletonWithReflectionSuccess", but we expect
  * warning for PHP < 5.4.0 since PHPUnit will try to execute private __wakeup
  * on unserialize
  */
 public function testGetMockForSingletonWithUnserializeFail()
 {
     if (version_compare(PHP_VERSION, '5.4.0', '>=')) {
         $this->markTestSkipped('Only for PHP < 5.4.0');
     }
     $this->setExpectedException('PHPUnit_Framework_MockObject_RuntimeException');
     // Probably, this should be moved to tests/autoload.php
     require_once __DIR__ . '/_fixture/SingletonClass.php';
     $mock = $this->generator->getMock('SingletonClass', array('doSomething'), array(), '', false);
 }
예제 #13
0
 public function execute(SafeInput $input) : Response
 {
     // Use PHPUnit mocks outside of the TestCase... the DSL isn't quite as
     // pretty here :)
     $mockgen = new Generator();
     $mock = $mockgen->getMock('Psr\\Http\\Message\\ResponseInterface');
     $mock->expects(new AtLeastOnce())->method('getStatusCode')->will(new ReturnValue(200));
     $mock->expects(new AtLeastOnce())->method('getBody')->will(new ReturnValue(json_encode($input->asArray())));
     return $mock;
 }
예제 #14
0
 /**
  * Generates a mock object on the singleton Someclass util object.
  *
  * @param array $name
  * @return void
  */
 public static function expects($name, $replace)
 {
     // Mock the object
     $mock = \PHPUnit_Framework_MockObject_Generator::getMock('Someclass', array('hello'), array(), '', false);
     // Replace protected self reference with mock object
     $ref = new \ReflectionProperty('Someclass', 'self');
     $ref->setAccessible(true);
     $ref->setValue(null, $mock);
     // Set expectations and return values
     $mock->expects(new \PHPUnit_Framework_MockObject_Matcher_InvokedCount(1))->method('hello')->with(\PHPUnit_Framework_Assert::equalTo($name))->will(new \PHPUnit_Framework_MockObject_Stub_Return($replace));
 }
예제 #15
0
 public static function getFhirTemplate()
 {
     class_exists('DataTemplate');
     $template = \PHPUnit_Framework_MockObject_Generator::getMock('DataTemplateComponent', array(), array(), '', false);
     $template->expects(new \PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount())->method('match')->will(new \PHPUnit_Framework_MockObject_Stub_ReturnCallback(function ($obj, &$warnings) {
         return get_object_vars($obj);
     }));
     $template->expects(new \PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount())->method('generate')->will(new \PHPUnit_Framework_MockObject_Stub_ReturnCallback(function ($values) {
         return (object) $values;
     }));
     return $template;
 }
 /**
  * @test
  * @expectedExceptionMessage Pass
  **/
 public function validates_expectations()
 {
     $mockBuilder = new PHPUnit_Framework_MockObject_Generator();
     $mock = $mockBuilder->getMock('Spy');
     $mock->expects($this->once())->method('getValue')->willCallOriginal();
     try {
         $mock->getValue();
         $mock->getValue();
         $this->fail("Failed to validate expectation on the spy object");
     } catch (PHPUnit_Framework_ExpectationFailedException $e) {
     }
 }
예제 #17
0
 /**
  * Register mocked package model in di
  *
  * @static
  */
 public static function registerDesignMock()
 {
     /** @var $packageMock Mage_Core_Model_Design_Package|PHPUnit_Framework_MockObject_MockObject */
     $packageMock = PHPUnit_Framework_MockObject_Generator::getMock('Mage_Core_Model_Design_Package', array('getConfigurationDesignTheme'), array(self::_createFilesystem()));
     $package = Mage::getModel('Mage_Core_Model_Design_Package', array('filesystem' => self::_createFilesystem()));
     $callBackFixture = function ($area, $params) use($package, $packageMock) {
         $area = $area ? $area : $packageMock->getArea();
         if (isset($params['useId']) && $params['useId'] === false) {
             return $package->getConfigurationDesignTheme($area, $params);
         } else {
             $params['useId'] = false;
             /** @var $package Mage_Core_Model_Design_Package */
             $configPath = $package->getConfigurationDesignTheme($area, $params);
             return Mage_Core_Utility_Theme::getTheme($configPath, $area)->getId();
         }
     };
     $packageMock->expects(new PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount())->method('getConfigurationDesignTheme')->will(new PHPUnit_Framework_MockObject_Stub_ReturnCallback($callBackFixture));
     /** @var $objectManager Magento_Test_ObjectManager */
     $objectManager = Mage::getObjectManager();
     $objectManager->addSharedInstance($packageMock, 'Mage_Core_Model_Design_Package');
 }
예제 #18
0
 /**
  * @param string $class_name
  * @param array  $properties
  */
 public static function generate($class_name, array $properties = array())
 {
     $stub = PHPUnit_Framework_MockObject_Generator::getMock($class_name, array(), array(), '', false, false, true, false);
     self::propertiesSetAndMatch($stub, $properties);
     return $stub;
 }
예제 #19
0
파일: Static.php 프로젝트: thekabal/tki
 /**
  * @return mixed Mocked return value.
  */
 public function generateReturnValue()
 {
     switch ($this->returnType) {
         case '':
             return;
         case 'string':
             return '';
         case 'float':
             return 0.0;
         case 'int':
             return 0;
         case 'bool':
             return false;
         case 'array':
             return [];
         case 'void':
             return;
         case 'callable':
         case 'Closure':
             return function () {
             };
         case 'Traversable':
         case 'Generator':
             $generator = function () {
                 yield;
             };
             return $generator();
         default:
             $generator = new PHPUnit_Framework_MockObject_Generator();
             return $generator->getMock($this->returnType, [], [], '', false);
     }
 }
예제 #20
0
 /**
  * Replace the Laravel event dispatcher with a mock.
  */
 private function mockEventDispatcher()
 {
     $mockGenerator = new \PHPUnit_Framework_MockObject_Generator();
     $mock = $mockGenerator->getMock('Illuminate\\Contracts\\Events\\Dispatcher');
     $this->app->instance('events', $mock);
 }
예제 #21
0
 /**
  * Creates a mock object using a fluent interface.
  *
  * @return PHPUnit_Framework_MockObject_MockObject
  */
 public function getMock()
 {
     $object = $this->generator->getMock($this->type, $this->methods, $this->constructorArgs, $this->mockClassName, $this->originalConstructor, $this->originalClone, $this->autoload, $this->cloneArguments, $this->callOriginalMethods, $this->proxyTarget, $this->allowMockingUnknownTypes);
     $this->testCase->registerMockObject($object);
     return $object;
 }
예제 #22
0
 /**
  * Replace the Laravel event dispatcher with a mock.
  */
 private function mockEventDispatcher()
 {
     $mockGenerator = new \PHPUnit_Framework_MockObject_Generator();
     $mock = $mockGenerator->getMock('Illuminate\\Contracts\\Events\\Dispatcher');
     // Even if events are disabled we still want to record the triggered events.
     // But by mocking the event dispatcher the wildcard listener registered in the initialize method is removed.
     // So to record the triggered events we have to catch the calls to the fire method of the event dispatcher mock.
     $callback = function ($event) {
         $this->triggeredEvents[] = $this->normalizeEvent($event);
     };
     $mock->expects(new \PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount())->method('fire')->will(new \PHPUnit_Framework_MockObject_Stub_ReturnCallback($callback));
     $this->app->instance('events', $mock);
 }
예제 #23
0
 /**
  * @covers PHPUnit_Framework_MockObject_Generator::getMock
  * @expectedException PHPUnit_Framework_MockObject_RuntimeException
  */
 public function testExceptionIsRaisedForMutuallyExclusiveOptions()
 {
     $this->generator->getMock(StdClass::class, [], [], '', false, true, true, true, true);
 }
/**
 * @param $originalClassName
 * @return PHPUnit_Framework_MockObject_MockObject
 */
function getMock($originalClassName)
{
    return PHPUnit_Framework_MockObject_Generator::getMock($originalClassName, [], [], '', false);
}
 /**
  * @return ContentObjectRenderer
  */
 public function getContentObject()
 {
     $builder = new \PHPUnit_Framework_MockObject_Generator();
     $renderer = $builder->getMock('TYPO3\\CMS\\Frontend\\ContentObject\\ContentObjectRenderer', array('RECORDS'));
     return $renderer;
 }
예제 #26
0
 public function getMetadata()
 {
     return PHPUnit_Framework_MockObject_Generator::getMock('CActiveRecordMetaData', array(), array(), '', false);
 }
예제 #27
0
 /**
  * Returns a mock object for the specified class.
  *
  * @param  string  $originalClassName
  * @param  array   $methods
  * @param  array   $arguments
  * @param  string  $mockClassName
  * @param  boolean $callOriginalConstructor
  * @param  boolean $callOriginalClone
  * @param  boolean $callAutoload
  * @param  boolean $cloneArguments
  * @return PHPUnit_Framework_MockObject_MockObject
  * @throws PHPUnit_Framework_Exception
  * @since  Method available since Release 3.0.0
  */
 public function getMock($originalClassName, $methods = array(), array $arguments = array(), $mockClassName = '', $callOriginalConstructor = TRUE, $callOriginalClone = TRUE, $callAutoload = TRUE, $cloneArguments = FALSE)
 {
     $mockObject = PHPUnit_Framework_MockObject_Generator::getMock($originalClassName, $methods, $arguments, $mockClassName, $callOriginalConstructor, $callOriginalClone, $callAutoload, $cloneArguments);
     $this->mockObjects[] = $mockObject;
     return $mockObject;
 }
예제 #28
0
 public static function constructEmptyExcept($class, $method, $constructorParams = array(), $params = array())
 {
     $reflectionClass = new \ReflectionClass($class);
     $methods = $reflectionClass->getMethods();
     $methods = array_filter($methods, function ($m) use($method) {
         return $method != $m->name;
     });
     $methods = array_map(function ($m) {
         return $m->name;
     }, $methods);
     $mock = \PHPUnit_Framework_MockObject_Generator::getMock($class, $methods, $constructorParams);
     self::bindParameters($mock, $params);
     $mock->__mocked = $class;
     return $mock;
 }
예제 #29
0
 /**
  * @covers PHPUnit_Framework_MockObject_Generator::getMock
  * @expectedException PHPUnit_Framework_Exception
  * @expectedExceptionMessage duplicates: "foo, foo"
  */
 public function testGetMockGeneratorFails()
 {
     $mock = PHPUnit_Framework_MockObject_Generator::getMock('StdClass', array('foo', 'foo'));
 }
 protected function createChannel(array $spec, $defaultConnectionName)
 {
     $gen = new \PHPUnit_Framework_MockObject_Generator();
     $mock = $gen->getMock('AMQPChannel', array(), array(), '', false);
     return $mock;
 }