示例#1
0
文件: web.php 项目: prox91/joomla-dev
 /**
  * Creates and instance of the mock WebServiceApplicationWeb object.
  *
  * The test can implement the following overrides:
  * - mockAppendBody
  * - mockGetBody
  * - mockPrepentBody
  * - mockSetBody
  *
  * If any *Body methods are implemented in the test class, all should be implemented otherwise behaviour will be unreliable.
  *
  * @param   TestCase  $test     A test object.
  * @param   array     $options  A set of options to configure the mock.
  *
  * @return  PHPUnit_Framework_MockObject_MockObject
  *
  * @since   11.3
  */
 public static function create($test, $options = array())
 {
     // Set expected server variables.
     if (!isset($_SERVER['HTTP_HOST'])) {
         $_SERVER['HTTP_HOST'] = 'localhost';
     }
     // Collect all the relevant methods in WebServiceApplicationWeb (work in progress).
     $methods = array('allowCache', 'appendBody', 'clearHeaders', 'close', 'execute', 'get', 'getBody', 'getDocument', 'getHeaders', 'getIdentity', 'getLanguage', 'getSession', 'loadConfiguration', 'loadDispatcher', 'loadDocument', 'loadIdentity', 'loadLanguage', 'loadSession', 'prependBody', 'redirect', 'registerEvent', 'sendHeaders', 'set', 'setBody', 'setHeader', 'triggerEvent');
     // Create the mock.
     $mockObject = $test->getMock('WebServiceApplicationWeb', $methods, array(), '', true);
     // Mock calls to JApplicationWeb::getDocument().
     $mockObject->expects($test->any())->method('getDocument')->will($test->returnValue(TestMockDocument::create($test)));
     // Mock calls to JApplicationWeb::getLanguage().
     $mockObject->expects($test->any())->method('getLanguage')->will($test->returnValue(TestMockLanguage::create($test)));
     // Mock a call to JApplicationWeb::getSession().
     if (isset($options['session'])) {
         $mockObject->expects($test->any())->method('getSession')->will($test->returnValue($options['session']));
     } else {
         $mockObject->expects($test->any())->method('getSession')->will($test->returnValue(TestMockSession::create($test)));
     }
     $test->assignMockCallbacks($mockObject, array('appendBody' => array(is_callable(array($test, 'mockAppendBody')) ? $test : get_called_class(), 'mockAppendBody'), 'getBody' => array(is_callable(array($test, 'mockGetBody')) ? $test : get_called_class(), 'mockGetBody'), 'prependBody' => array(is_callable(array($test, 'mockPrependBody')) ? $test : get_called_class(), 'mockPrependBody'), 'setBody' => array(is_callable(array($test, 'mockSetBody')) ? $test : get_called_class(), 'mockSetBody')));
     // Reset the body storage.
     self::$body = array();
     return $mockObject;
 }
 /**
  * Creates and instance of the mock JApplication object.
  *
  * @param   object  $test  A test object.
  *
  * @return  object
  *
  * @since   11.3
  */
 public static function create($test)
 {
     // Collect all the relevant methods in JApplication (work in progress).
     $methods = array('get', 'getCfg', 'getIdentity', 'getRouter', 'getTemplate', 'getMenu', 'getLanguage');
     // Create the mock.
     $mockObject = $test->getMock('JApplication', $methods, array(), '', false);
     $menu = TestMockMenu::create($test);
     $mockObject->expects($test->any())->method('getMenu')->will($test->returnValue($menu));
     $language = TestMockLanguage::create($test);
     $mockObject->expects($test->any())->method('getLanguage')->will($test->returnValue($language));
     $mockObject->input = new JInput();
     return $mockObject;
 }
示例#3
0
 /**
  * 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 calls to JApplicationWeb::getDocument().
     $mockObject->expects($test->any())->method('getDocument')->will($test->returnValue(TestMockDocument::create($test)));
     // Mock calls to JApplicationWeb::getLanguage().
     $mockObject->expects($test->any())->method('getLanguage')->will($test->returnValue(TestMockLanguage::create($test)));
     // Mock a call to JApplicationWeb::getSession().
     if (isset($options['session'])) {
         $mockObject->expects($test->any())->method('getSession')->will($test->returnValue($options['session']));
     } else {
         $mockObject->expects($test->any())->method('getSession')->will($test->returnValue(TestMockSession::create($test)));
     }
     $test->assignMockCallbacks($mockObject, array('appendBody' => array(is_callable(array($test, 'mockAppendBody')) ? $test : get_called_class(), 'mockAppendBody'), 'getBody' => array(is_callable(array($test, 'mockGetBody')) ? $test : get_called_class(), 'mockGetBody'), 'prependBody' => array(is_callable(array($test, 'mockPrependBody')) ? $test : get_called_class(), 'mockPrependBody'), 'setBody' => array(is_callable(array($test, 'mockSetBody')) ? $test : get_called_class(), 'mockSetBody'), 'getHeaders' => array(is_callable(array($test, 'mockGetHeaders')) ? $test : get_called_class(), 'mockGetHeaders'), 'setHeader' => array(is_callable(array($test, 'mockSetHeader')) ? $test : get_called_class(), 'mockSetHeader'), 'clearHeaders' => array(is_callable(array($test, 'mockClearHeaders')) ? $test : get_called_class(), 'mockClearHeaders'), 'allowCache' => array(is_callable(array($test, 'mockAllowCache')) ? $test : get_called_class(), 'mockAllowCache')));
     // Reset the body storage.
     static::$body = array();
     // Reset the headers storage.
     static::$headers = array();
     // Reset the cache storage.
     static::$cachable = false;
     return parent::addBehaviours($test, $mockObject, $options);
 }
示例#4
0
 /**
  * Creates and instance of the mock JApplicationWeb object.
  *
  * @param   object  $test     A test object.
  * @param   array   $options  A set of options to configure the mock.
  *
  * @return  object
  *
  * @since   11.3
  */
 public static function create($test, $options = array())
 {
     // Set expected server variables.
     if (!isset($_SERVER['HTTP_HOST'])) {
         $_SERVER['HTTP_HOST'] = 'localhost';
     }
     // Collect all the relevant methods in JApplicationWeb (work in progress).
     $methods = array('get', 'getDocument', 'getIdentity', 'getLanguage', 'getSession');
     // Create the mock.
     $mockObject = $test->getMock('JApplicationWeb', $methods, array(), '', true);
     // Mock calls to JApplicationWeb::getDocument().
     $mockObject->expects($test->any())->method('getDocument')->will($test->returnValue(TestMockDocument::create($test)));
     // Mock calls to JApplicationWeb::getLanguage().
     $mockObject->expects($test->any())->method('getLanguage')->will($test->returnValue(TestMockLanguage::create($test)));
     // Mock a call to JApplicationWeb::getSession().
     if (isset($options['session'])) {
         $mockObject->expects($test->any())->method('getSession')->will($test->returnValue($options['session']));
     } else {
         $mockObject->expects($test->any())->method('getSession')->will($test->returnValue(TestMockSession::create($test)));
     }
     return $mockObject;
 }
示例#5
0
 /**
  * Gets a mock language object.
  *
  * @return  JLanguage
  *
  * @since   12.1
  */
 public function getMockLanguage()
 {
     // Attempt to load the real class first.
     class_exists('JLanguage');
     return TestMockLanguage::create($this);
 }