/** * Adds mock objects for some methods. * * @param TestCase $test A test object. * @param PHPUnit_Framework_MockObject_MockObject $mockObject The mock object. * @param array $options A set of options to configure the mock. * * @return PHPUnit_Framework_MockObject_MockObject The object with the behaviours added * * @since 3.4 */ public static function addBehaviours($test, $mockObject, $options) { // Mock a call to JApplicationBase::getDispatcher(). if (isset($options['dispatcher'])) { $mockObject->expects($test->any())->method('getDispatcher')->willReturn($options['dispatcher']); } else { $mockObject->expects($test->any())->method('getDispatcher')->willReturn(TestMockDispatcher::create($test)); } $test->assignMockReturns($mockObject, array('close' => true)); return $mockObject; }
/** * Creates and instance of the mock JLanguage object. * * @param object $test A test object. * @param boolean $defaults True to create the default mock handlers and triggers. * * @return object * * @since 11.3 */ public static function create($test, $defaults = true) { // Clear the static tracker properties. self::$handlers = array(); self::$triggered = array(); // Collect all the relevant methods in JDatabase. $methods = array('register', 'trigger', 'test'); // Create the mock. $mockObject = $test->getMock('JEventDispatcher', $methods, array(), '', false); // Mock selected methods. $test->assignMockReturns($mockObject, array('test' => 'ok')); if ($defaults) { $test->assignMockCallbacks($mockObject, array('register' => array(get_called_class(), 'mockRegister'), 'trigger' => array(get_called_class(), 'mockTrigger'))); } return $mockObject; }
/** * Creates and instance of the mock DispatcherInterface object. * * @param PHPUnit_Framework_TestCase $test A test object. * @param boolean $defaults True to create the default mock handlers and triggers. * * @return PHPUnit_Framework_MockObject_MockObject * * @since 11.3 */ public static function create($test, $defaults = true) { // Clear the static tracker properties. self::$handlers = array(); self::$triggered = array(); // Collect all the relevant methods in DispatcherInterface. $methods = array('addListener', 'dispatch', 'register', 'removeListener', 'trigger', 'test'); // Create the mock. $mockObject = $test->getMockBuilder(DispatcherInterface::class)->setMethods($methods)->getMock(); // Mock selected methods. $test->assignMockReturns($mockObject, array('test' => 'ok')); if ($defaults) { $test->assignMockCallbacks($mockObject, array('dispatch' => array(get_called_class(), 'mockDispatch'), 'addListener' => array(get_called_class(), 'mockRegister'))); } return $mockObject; }
/** * Creates and instance of the mock JLanguage object. * * @param object $test A test object. * @param boolean $defaults True to create the default mock handlers and triggers. * * @return object * * @since 11.3 */ public static function create($test, $defaults = true) { // Clear the static tracker properties. self::$handlers = array(); self::$triggered = array(); // Collect all the relevant methods in JDatabase. $methods = array( 'register', 'trigger', 'test', ); // Create the mock. $mockObject = $test->getMock( 'JEventDispatcher', $methods, // Constructor arguments. array(), // Mock class name. '', // Call original constructor. false ); // Mock selected methods. $test->assignMockReturns( $mockObject, array( // An additional 'test' method for confirming this object is successfully mocked. 'test' => 'ok', ) ); if ($defaults) { $test->assignMockCallbacks( $mockObject, array( 'register' => array(get_called_class(), 'mockRegister'), 'trigger' => array(get_called_class(), 'mockTrigger'), ) ); } return $mockObject; }
/** * Gets a mock dispatcher object. * * @param boolean $defaults Add default register and trigger methods for testing. * * @return JDispatcher * * @since 12.1 */ public function getMockDispatcher($defaults = true) { // Attempt to load the real class first. class_exists('JDispatcher'); return TestMockDispatcher::create($this, $defaults); }
/** * Gets a mock dispatcher object. * * @param boolean $defaults Add default register and trigger methods for testing. * * @return \Joomla\Event\DispatcherInterface * * @since 12.1 */ public function getMockDispatcher($defaults = true) { // Attempt to load the interface first. class_exists('Joomla\\Event\\DispatcherInterface'); return TestMockDispatcher::create($this, $defaults); }