[TASK] Adjust namespacing in Extbase-testcases 32/22232/2
authorStefan Neufeind <typo3.neufeind@speedpartner.de>
Thu, 11 Jul 2013 21:30:33 +0000 (23:30 +0200)
committerChristian Kuhn <lolli@schwarzbu.ch>
Sun, 28 Jul 2013 14:57:06 +0000 (16:57 +0200)
Classes created for testing should run inside
separate testing-namespace and not pollute
the global namespace.
We also need to extend from \\TYPO3\\...
instead of just TYPO3\\... then.

Change-Id: I0577327a3b3a7ee1be089bf381b153dd1a1a5602
Resolves: #42984
Releases: 6.2
Reviewed-on: https://review.typo3.org/22232
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
typo3/sysext/extbase/Tests/Unit/DomainObject/AbstractEntityTest.php
typo3/sysext/extbase/Tests/Unit/Mvc/Web/Routing/UriBuilderTest.php
typo3/sysext/extbase/Tests/Unit/Persistence/Generic/Mapper/DataMapperTest.php
typo3/sysext/extbase/Tests/Unit/Persistence/RepositoryTest.php

index 5ff6fed..40b7d4f 100644 (file)
@@ -30,11 +30,12 @@ class AbstractEntityTest extends \TYPO3\CMS\Extbase\Tests\Unit\BaseTestCase {
         */
        public function objectIsNotDirtyAfterCallingMemorizeCleanStateWithSimpleProperties() {
                $domainObjectName = uniqid('DomainObject_');
-               eval('class ' . $domainObjectName . ' extends TYPO3\\CMS\\Extbase\\DomainObject\\AbstractEntity {
+               $domainObjectNameWithNS = __NAMESPACE__ . '\\' . $domainObjectName;
+               eval('namespace ' . __NAMESPACE__ . '; class ' . $domainObjectName . ' extends \\TYPO3\\CMS\\Extbase\\DomainObject\\AbstractEntity {
                        public $foo;
                        public $bar;
                }');
-               $domainObject = new $domainObjectName();
+               $domainObject = new $domainObjectNameWithNS();
                $domainObject->foo = 'Test';
                $domainObject->bar = 'It is raining outside';
                $domainObject->_memorizeCleanState();
@@ -46,11 +47,12 @@ class AbstractEntityTest extends \TYPO3\CMS\Extbase\Tests\Unit\BaseTestCase {
         */
        public function objectIsDirtyAfterCallingMemorizeCleanStateWithSimplePropertiesAndModifyingThePropertiesAfterwards() {
                $domainObjectName = uniqid('DomainObject_');
-               eval('class ' . $domainObjectName . ' extends TYPO3\\CMS\\Extbase\\DomainObject\\AbstractEntity {
+               $domainObjectNameWithNS = __NAMESPACE__ . '\\' . $domainObjectName;
+               eval('namespace ' . __NAMESPACE__ . '; class ' . $domainObjectName . ' extends \\TYPO3\\CMS\\Extbase\\DomainObject\\AbstractEntity {
                        public $foo;
                        public $bar;
                }');
-               $domainObject = new $domainObjectName();
+               $domainObject = new $domainObjectNameWithNS();
                $domainObject->foo = 'Test';
                $domainObject->bar = 'It is raining outside';
                $domainObject->_memorizeCleanState();
@@ -63,11 +65,12 @@ class AbstractEntityTest extends \TYPO3\CMS\Extbase\Tests\Unit\BaseTestCase {
         */
        public function objectIsNotDirtyAfterCallingMemorizeCleanStateWithObjectProperties() {
                $domainObjectName = uniqid('DomainObject_');
-               eval('class ' . $domainObjectName . ' extends TYPO3\\CMS\\Extbase\\DomainObject\\AbstractEntity {
+               $domainObjectNameWithNS = __NAMESPACE__ . '\\' . $domainObjectName;
+               eval('namespace ' . __NAMESPACE__ . '; class ' . $domainObjectName . ' extends \\TYPO3\\CMS\\Extbase\\DomainObject\\AbstractEntity {
                        public $foo;
                        public $bar;
                }');
-               $domainObject = new $domainObjectName();
+               $domainObject = new $domainObjectNameWithNS();
                $domainObject->foo = new \DateTime();
                $domainObject->bar = 'It is raining outside';
                $domainObject->_memorizeCleanState();
@@ -79,18 +82,20 @@ class AbstractEntityTest extends \TYPO3\CMS\Extbase\Tests\Unit\BaseTestCase {
         */
        public function objectIsNotDirtyAfterCallingMemorizeCleanStateWithOtherDomainObjectsAsProperties() {
                $domainObjectName = uniqid('DomainObject_');
-               eval('class ' . $domainObjectName . ' extends TYPO3\\CMS\\Extbase\\DomainObject\\AbstractEntity {
+               $domainObjectNameWithNS = __NAMESPACE__ . '\\' . $domainObjectName;
+               eval('namespace ' . __NAMESPACE__ . '; class ' . $domainObjectName . ' extends \\TYPO3\\CMS\\Extbase\\DomainObject\\AbstractEntity {
                        public $foo;
                        public $bar;
                }');
                $secondDomainObjectName = uniqid('DomainObject_');
-               eval('class ' . $secondDomainObjectName . ' extends TYPO3\\CMS\\Extbase\\DomainObject\\AbstractEntity {
+               $secondDomainObjectNameWithNS = __NAMESPACE__ . '\\' . $secondDomainObjectName;
+               eval('namespace ' . __NAMESPACE__ . '; class ' . $secondDomainObjectName . ' extends \\TYPO3\\CMS\\Extbase\\DomainObject\\AbstractEntity {
                        public $foo;
                        public $bar;
                }');
-               $secondDomainObject = new $secondDomainObjectName();
+               $secondDomainObject = new $secondDomainObjectNameWithNS();
                $secondDomainObject->_memorizeCleanState();
-               $domainObject = new $domainObjectName();
+               $domainObject = new $domainObjectNameWithNS();
                $domainObject->foo = $secondDomainObject;
                $domainObject->bar = 'It is raining outside';
                $domainObject->_memorizeCleanState();
index 994c1bc..f922a15 100644 (file)
@@ -598,9 +598,10 @@ class UriBuilderTest extends \TYPO3\CMS\Extbase\Tests\Unit\BaseTestCase {
         * @test
         */
        public function conversionOfTansientObjectsIsInvoked() {
-               $className = uniqid('Tx_Extbase_Tests_Fixtures_Object');
-               eval('class ' . $className . ' extends TYPO3\\CMS\\Extbase\\DomainObject\\AbstractValueObject { public $name; public $uid; }');
-               $mockValueObject = new $className();
+               $className = uniqid('FixturesObject_');
+               $classNameWithNS = __NAMESPACE__ . '\\' . $className;
+               eval('namespace ' . __NAMESPACE__ . '; class ' . $className . ' extends \\TYPO3\\CMS\\Extbase\\DomainObject\\AbstractValueObject { public $name; public $uid; }');
+               $mockValueObject = new $classNameWithNS();
                $mockValueObject->name = 'foo';
                $mockUriBuilder = $this->getAccessibleMock('TYPO3\\CMS\\Extbase\\Mvc\\Web\\Routing\\UriBuilder', array('convertTransientObjectToArray'));
                $mockUriBuilder->expects($this->once())->method('convertTransientObjectToArray')->will($this->returnValue(array('foo' => 'bar')));
@@ -614,9 +615,10 @@ class UriBuilderTest extends \TYPO3\CMS\Extbase\Tests\Unit\BaseTestCase {
         * @expectedException \TYPO3\CMS\Extbase\Mvc\Exception\InvalidArgumentValueException
         */
        public function conversionOfTansientObjectsThrowsExceptionForOtherThanValueObjects() {
-               $className = uniqid('Tx_Extbase_Tests_Fixtures_Object');
-               eval('class ' . $className . ' extends TYPO3\\CMS\\Extbase\\DomainObject\\AbstractEntity { public $name; public $uid; }');
-               $mockEntity = new $className();
+               $className = uniqid('FixturesObject_');
+               $classNameWithNS = __NAMESPACE__ . '\\' . $className;
+               eval('namespace ' . __NAMESPACE__ . '; class ' . $className . ' extends \\TYPO3\\CMS\\Extbase\\DomainObject\\AbstractEntity { public $name; public $uid; }');
+               $mockEntity = new $classNameWithNS();
                $mockEntity->name = 'foo';
                $mockUriBuilder = $this->getAccessibleMock('TYPO3\\CMS\\Extbase\\Mvc\\Web\\Routing\\UriBuilder', array('dummy'));
                $mockUriBuilder->_call('convertDomainObjectsToIdentityArrays', array('object' => $mockEntity));
@@ -626,9 +628,10 @@ class UriBuilderTest extends \TYPO3\CMS\Extbase\Tests\Unit\BaseTestCase {
         * @test
         */
        public function tansientObjectsAreConvertedToAnArrayOfProperties() {
-               $className = uniqid('Tx_Extbase_Tests_Fixtures_Object');
-               eval('class ' . $className . ' extends TYPO3\\CMS\\Extbase\\DomainObject\\AbstractValueObject { public $name; public $uid; }');
-               $mockValueObject = new $className();
+               $className = uniqid('FixturesObject_');
+               $classNameWithNS = __NAMESPACE__ . '\\' . $className;
+               eval('namespace ' . __NAMESPACE__ . '; class ' . $className . ' extends \\TYPO3\\CMS\\Extbase\\DomainObject\\AbstractValueObject { public $name; public $uid; }');
+               $mockValueObject = new $classNameWithNS();
                $mockValueObject->name = 'foo';
                $mockUriBuilder = $this->getAccessibleMock('TYPO3\\CMS\\Extbase\\Mvc\\Web\\Routing\\UriBuilder', array('dummy'));
                $actualResult = $mockUriBuilder->_call('convertTransientObjectToArray', $mockValueObject);
@@ -640,18 +643,21 @@ class UriBuilderTest extends \TYPO3\CMS\Extbase\Tests\Unit\BaseTestCase {
         * @test
         */
        public function tansientObjectsAreRecursivelyConverted() {
-               $className = uniqid('Tx_Extbase_Tests_Fixtures_Object');
-               eval('class ' . $className . ' extends TYPO3\\CMS\\Extbase\\DomainObject\\AbstractValueObject { public $name; public $uid; }');
-               $mockInnerValueObject2 = new $className();
+               $className = uniqid('FixturesObject_');
+               $classNameWithNS = __NAMESPACE__ . '\\' . $className;
+               eval('namespace ' . __NAMESPACE__ . '; class ' . $className . ' extends \\TYPO3\\CMS\\Extbase\\DomainObject\\AbstractValueObject { public $name; public $uid; }');
+               $mockInnerValueObject2 = new $classNameWithNS();
                $mockInnerValueObject2->name = 'foo';
                $mockInnerValueObject2->uid = 99;
-               $className = uniqid('Tx_Extbase_Tests_Fixtures_Object');
-               eval('class ' . $className . ' extends TYPO3\\CMS\\Extbase\\DomainObject\\AbstractValueObject { public $object; public $uid; }');
-               $mockInnerValueObject1 = new $className();
+               $className = uniqid('FixturesObject_');
+               $classNameWithNS = __NAMESPACE__ . '\\' . $className;
+               eval('namespace ' . __NAMESPACE__ . '; class ' . $className . ' extends \\TYPO3\\CMS\\Extbase\\DomainObject\\AbstractValueObject { public $object; public $uid; }');
+               $mockInnerValueObject1 = new $classNameWithNS();
                $mockInnerValueObject1->object = $mockInnerValueObject2;
-               $className = uniqid('Tx_Extbase_Tests_Fixtures_Object');
-               eval('class ' . $className . ' extends TYPO3\\CMS\\Extbase\\DomainObject\\AbstractValueObject { public $object; public $uid; }');
-               $mockValueObject = new $className();
+               $className = uniqid('FixturesObject_');
+               $classNameWithNS = __NAMESPACE__ . '\\' . $className;
+               eval('namespace ' . __NAMESPACE__ . '; class ' . $className . ' extends \\TYPO3\\CMS\\Extbase\\DomainObject\\AbstractValueObject { public $object; public $uid; }');
+               $mockValueObject = new $classNameWithNS();
                $mockValueObject->object = $mockInnerValueObject1;
                $mockUriBuilder = $this->getAccessibleMock('TYPO3\\CMS\\Extbase\\Mvc\\Web\\Routing\\UriBuilder', array('dummy'));
                $actualResult = $mockUriBuilder->_call('convertTransientObjectToArray', $mockValueObject);
index 1e73d6b..72f7be6 100644 (file)
@@ -64,8 +64,9 @@ class DataMapperTest extends \TYPO3\CMS\Extbase\Tests\Unit\BaseTestCase {
         */
        public function thawPropertiesSetsPropertyValues() {
                $className = 'Class' . md5(uniqid(mt_rand(), TRUE));
-               eval('class ' . $className . ' extends TYPO3\\CMS\\Extbase\\DomainObject\\AbstractEntity { public $firstProperty; public $secondProperty; public $thirdProperty; public $fourthProperty; }');
-               $object = new $className();
+               $classNameWithNS = __NAMESPACE__ . '\\' . $className;
+               eval('namespace ' . __NAMESPACE__ . '; class ' . $className . ' extends \\TYPO3\\CMS\\Extbase\\DomainObject\\AbstractEntity { public $firstProperty; public $secondProperty; public $thirdProperty; public $fourthProperty; }');
+               $object = new $classNameWithNS();
                $row = array(
                        'uid' => '1234',
                        'firstProperty' => 'firstValue',
@@ -83,10 +84,10 @@ class DataMapperTest extends \TYPO3\CMS\Extbase\Tests\Unit\BaseTestCase {
                $dataMap = $this->getAccessibleMock('TYPO3\\CMS\\Extbase\\Persistence\\Generic\\Mapper\\DataMap', array('dummy'), array($className, $className));
                $dataMap->_set('columnMaps', $columnMaps);
                $dataMaps = array(
-                       $className => $dataMap
+                       $classNameWithNS => $dataMap
                );
                /** @var \TYPO3\CMS\Core\Tests\AccessibleObjectInterface|\TYPO3\CMS\Extbase\Reflection\ClassSchema $classSchema */
-               $classSchema = $this->getAccessibleMock('TYPO3\CMS\Extbase\Reflection\ClassSchema', array('dummy'), array($className));
+               $classSchema = $this->getAccessibleMock('TYPO3\CMS\Extbase\Reflection\ClassSchema', array('dummy'), array($classNameWithNS));
                $classSchema->_set('typeHandlingService', new \TYPO3\CMS\Extbase\Service\TypeHandlingService());
                $classSchema->addProperty('pid', 'integer');
                $classSchema->addProperty('uid', 'integer');
index 722f8b8..c9db820 100644 (file)
@@ -322,8 +322,8 @@ class RepositoryTest extends \TYPO3\CMS\Extbase\Tests\Unit\BaseTestCase {
         * @param string $modelClassName
         */
        public function constructSetsObjectTypeFromClassName($repositoryClassName, $modelClassName) {
-               $mockClassName = 'MockRepository' . uniqid();
-               eval('class ' . $mockClassName . ' extends TYPO3\\CMS\\Extbase\\Persistence\\Repository {
+               $repositoryClassNameWithNS = __NAMESPACE__ . '\\' . $repositoryClassName;
+               eval('namespace ' . __NAMESPACE__ . '; class ' . $repositoryClassName . ' extends \\TYPO3\\CMS\\Extbase\\Persistence\\Repository {
                        protected function getRepositoryClassName() {
                                return \'' . $repositoryClassName . '\';
                        }
@@ -331,7 +331,7 @@ class RepositoryTest extends \TYPO3\CMS\Extbase\Tests\Unit\BaseTestCase {
                                return $this->objectType;
                        }
                }');
-               $this->repository = new $mockClassName($this->mockObjectManager);
+               $this->repository = new $repositoryClassNameWithNS($this->mockObjectManager);
                $this->assertEquals($modelClassName, $this->repository->_getObjectType());
        }