TYPO3 CMS  TYPO3_7-6
BootstrapTest.php
Go to the documentation of this file.
1 <?php
3 
4 /*
5  * This file is part of the TYPO3 CMS project.
6  *
7  * It is free software; you can redistribute it and/or modify it under
8  * the terms of the GNU General Public License, either version 2
9  * of the License, or any later version.
10  *
11  * For the full copyright and license information, please read the
12  * LICENSE.txt file that was distributed with this source code.
13  *
14  * The TYPO3 project - inspiring people to share!
15  */
16 
21 {
25  protected $singletonInstances = [];
26 
30  protected function setUp()
31  {
33  }
34 
35  protected function tearDown()
36  {
39  parent::tearDown();
40  }
41 
45  public function configureObjectManagerRespectsOverridingOfAlternativeObjectRegistrationViaPluginConfiguration()
46  {
48  $objectContainer = $this->getMock(\TYPO3\CMS\Extbase\Object\Container\Container::class, ['registerImplementation']);
49  $objectContainer->expects($this->once())->method('registerImplementation')->with(\TYPO3\CMS\Extbase\Persistence\PersistenceManagerInterface::class, 'TYPO3\CMS\Extbase\Persistence\Reddis\PersistenceManager');
50  \TYPO3\CMS\Core\Utility\GeneralUtility::setSingletonInstance(\TYPO3\CMS\Extbase\Object\Container\Container::class, $objectContainer);
51 
52  $frameworkSettings['objects'] = [
53  'TYPO3\CMS\Extbase\Persistence\PersistenceManagerInterface.' => [
54  'className' => 'TYPO3\CMS\Extbase\Persistence\Reddis\PersistenceManager'
55  ]
56  ];
57 
59  $configurationManagerMock = $this->getAccessibleMock(\TYPO3\CMS\Extbase\Configuration\ConfigurationManager::class, ['getConfiguration']);
60  $configurationManagerMock->expects($this->any())->method('getConfiguration')->with('Framework')->will($this->returnValue($frameworkSettings));
61 
63  $objectManager = $this->getMock(\TYPO3\CMS\Extbase\Object\ObjectManager::class);
64 
66  $bootstrapMock = $this->getAccessibleMock(\TYPO3\CMS\Extbase\Core\Bootstrap::class, ['inject']);
67  $bootstrapMock->_set('objectManager', $objectManager);
68  $bootstrapMock->_set('configurationManager', $configurationManagerMock);
69  $bootstrapMock->configureObjectManager();
70  }
71 }
static setSingletonInstance($className, SingletonInterface $instance)
static resetSingletonInstances(array $newSingletonInstances)
getAccessibleMock( $originalClassName, $methods=[], array $arguments=[], $mockClassName='', $callOriginalConstructor=true, $callOriginalClone=true, $callAutoload=true)