+++ /dev/null
-<?php
-/***************************************************************
-* Copyright notice
-*
-* (c) 2009 Jochen Rau <jochen.rau@typoplanet.de>
-* All rights reserved
-*
-* This class is a backport of the corresponding class of FLOW3.
-* All credits go to the v5 team.
-*
-* This script is part of the TYPO3 project. The TYPO3 project is
-* free software; you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation; either version 2 of the License, or
-* (at your option) any later version.
-*
-* The GNU General Public License can be found at
-* http://www.gnu.org/copyleft/gpl.html.
-*
-* This script is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* This copyright notice MUST APPEAR in all copies of the script!
-***************************************************************/
-
-/**
- * Base testcase for the Extbase extension.
- */
-abstract class Tx_Extbase_Base_testcase extends tx_phpunit_testcase {
-
- /**
- * @var Tx_Extbase_Object_ManagerInterface The object manager
- */
- protected $objectManager;
-
- /**
- * Constructs this TestCase and registers the autoloader
- */
- public function __construct() {
- if (!class_exists('Tx_Extbase_Utility_ClassLoader')) {
- require(t3lib_extmgm::extPath('extbase') . 'Classes/Utility/ClassLoader.php');
- }
- spl_autoload_register(array('Tx_Extbase_Utility_ClassLoader', 'loadClass'));
- }
-
- /**
- * Injects an untainted clone of the object manager and all its referencing
- * objects for every test.
- *
- * @return void
- */
- public function runBare() {
- $objectManager = t3lib_div::makeInstance('Tx_Extbase_Object_Manager');
- $this->objectManager = clone $objectManager;
- parent::runBare();
- }
-
- /**
- * Creates a proxy class of the specified class which allows
- * for calling even protected methods and access of protected properties.
- *
- * @param protected $className Full qualified name of the original class
- * @return string Full qualified name of the built class
- */
- protected function buildAccessibleProxy($className) {
- $accessibleClassName = uniqid('AccessibleTestProxy');
- $class = new ReflectionClass($className);
- $abstractModifier = $class->isAbstract() ? 'abstract ' : '';
- eval('
- ' . $abstractModifier . 'class ' . $accessibleClassName . ' extends ' . $className . ' {
- public function _call($methodName) {
- $args = func_get_args();
- return call_user_func_array(array($this, $methodName), array_slice($args, 1));
- }
- public function _callRef($methodName, &$arg1 = NULL, &$arg2 = NULL, &$arg3 = NULL, &$arg4 = NULL, &$arg5= NULL, &$arg6 = NULL, &$arg7 = NULL, &$arg8 = NULL, &$arg9 = NULL) {
- switch (func_num_args()) {
- case 0 : return $this->$methodName();
- case 1 : return $this->$methodName($arg1);
- case 2 : return $this->$methodName($arg1, $arg2);
- case 3 : return $this->$methodName($arg1, $arg2, $arg3);
- case 4 : return $this->$methodName($arg1, $arg2, $arg3, $arg4);
- case 5 : return $this->$methodName($arg1, $arg2, $arg3, $arg4, $arg5);
- case 6 : return $this->$methodName($arg1, $arg2, $arg3, $arg4, $arg5, $arg6);
- case 7 : return $this->$methodName($arg1, $arg2, $arg3, $arg4, $arg5, $arg6, $arg7);
- case 8 : return $this->$methodName($arg1, $arg2, $arg3, $arg4, $arg5, $arg6, $arg7, $arg8);
- case 9 : return $this->$methodName($arg1, $arg2, $arg3, $arg4, $arg5, $arg6, $arg7, $arg8, $arg9);
- }
- }
- public function _set($propertyName, $value) {
- $this->$propertyName = $value;
- }
- public function _setRef($propertyName, &$value) {
- $this->$propertyName = $value;
- }
- public function _get($propertyName) {
- return $this->$propertyName;
- }
- }
- ');
- return $accessibleClassName;
- }
-
-}
-?>
\ No newline at end of file