/** * 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', '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(JDocumentGlobalMock::create($test))); // Mock calls to JApplicationWeb::getLanguage(). $mockObject->expects($test->any())->method('getLanguage')->will($test->returnValue(JLanguageGlobalMock::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(JSessionGlobalMock::create($test))); } return $mockObject; }
/** * Gets a mock document object. * * @return JDocument * * @since 11.3 */ public function getMockDocument() { // Load the real class first otherwise the mock will be used if jimport is called again. require_once JPATH_PLATFORM . '/joomla/document/document.php'; // Load the mock class builder. require_once JPATH_TESTS . '/includes/mocks/JDocumentMock.php'; return JDocumentGlobalMock::create($this); }
/** * Gets a mock document object. * * @return object * * @since 11.3 */ protected function getMockDocument() { // Load the real class first otherwise the mock will be used if jimport is called again. require_once JPATH_PLATFORM . '/joomla/document/document.php'; require_once JPATH_TESTS . '/suite/joomla/document/JDocumentMock.php'; return JDocumentGlobalMock::create($this); }