/** * Sets up this test suite. */ protected function setUp() { $this->filter = new \TYPO3\CMS\Core\Resource\Filter\FileExtensionFilter(); $this->tceMainMock = $this->getMock('TYPO3\\CMS\\Core\\DataHandler\\DataHandler', array('deleteAction'), array()); $this->fileFactoryMock = $this->getMock('TYPO3\\CMS\\Core\\Resource\\ResourceFactory', array('getFileReferenceObject'), array()); \TYPO3\CMS\Core\Utility\GeneralUtility::setSingletonInstance('TYPO3\\CMS\\Core\\Resource\\ResourceFactory', $this->fileFactoryMock); }
public function setUpTYPO3Globals() { $GLOBALS['TYPO3_DB'] = $this->getMock('TYPO3\\CMS\\Core\\Database\\DatabaseConnection', get_class_methods('TYPO3\\CMS\\Core\\Database\\DatabaseConnection'), array(), '', false); $configurationManager = $this->getMock('TYPO3\\CMS\\Extbase\\Configuration\\ConfigurationManager', get_class_methods('TYPO3\\CMS\\Extbase\\Configuration\\ConfigurationManager'), array(), '', false); GeneralUtility::setSingletonInstance('TYPO3\\CMS\\Extbase\\Configuration\\ConfigurationManager', $configurationManager); $GLOBALS['TSFE'] = new \stdClass(); $GLOBALS['TSFE']->sys_language_uid = 0; $GLOBALS['TSFE']->csConvObj = $this->getMock('TYPO3\\CMS\\Core\\Charset\\CharsetConverter', get_class_methods('TYPO3\\CMS\\Core\\Charset\\CharsetConverter'), array(), '', false); }
public function setUp() { parent::setUp(); $this->singletonInstances = \TYPO3\CMS\Core\Utility\GeneralUtility::getSingletonInstances(); \TYPO3\CMS\Core\Utility\GeneralUtility::setSingletonInstance('TYPO3\\CMS\\Core\\Resource\\FileRepository', $this->getMock('TYPO3\\CMS\\Core\\Resource\\FileRepository')); $databaseMock = $this->getMock('TYPO3\\CMS\\Core\\Database\\DatabaseConnection'); $databaseMock->expects($this->any())->method('exec_SELECTgetRows')->with('*', 'sys_file_storage', '1=1', '', 'name', '', 'uid')->willReturn(array()); $GLOBALS['TYPO3_DB'] = $databaseMock; }
/** * Minimal frontent environment to satisfy Extbase Typo3DbBackend. */ protected function setUpBasicFrontendEnvironment() { $environmentServiceMock = $this->getMock('TYPO3\\CMS\\Extbase\\Service\\EnvironmentService'); $environmentServiceMock->expects($this->any())->method('isEnvironmentInFrontendMode')->willReturn(true); GeneralUtility::setSingletonInstance('TYPO3\\CMS\\Extbase\\Service\\EnvironmentService', $environmentServiceMock); $pageRepositoryFixture = new PageRepository(); $frontendControllerMock = $this->getMock('TYPO3\\CMS\\Frontend\\Controller\\TypoScriptFrontendController', array(), array(), '', false); $frontendControllerMock->sys_page = $pageRepositoryFixture; $GLOBALS['TSFE'] = $frontendControllerMock; }
/** * @test */ public function executeCallsUpdateExtListOfRepositoryHelper() { $repositoryHelperMock = $this->getMock('TYPO3\\CMS\\Extensionmanager\\Utility\\Repository\\Helper'); $repositoryHelperMock->expects($this->once())->method('updateExtList'); $objectManagerMock = $this->getMock('TYPO3\\CMS\\Extbase\\Object\\ObjectManager'); $objectManagerMock->expects($this->once())->method('get')->with('TYPO3\\CMS\\Extensionmanager\\Utility\\Repository\\Helper')->will($this->returnValue($repositoryHelperMock)); \TYPO3\CMS\Core\Utility\GeneralUtility::setSingletonInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager', $objectManagerMock); $task = new \TYPO3\CMS\Extensionmanager\Task\UpdateExtensionListTask(); $task->execute(); }
/** * @test */ public function getFolderCorrectlySetsFolderName() { $identifier = '/someFolder/someSubfolder/'; $fixture = $this->createDriverFixture(array()); $fixture->setStorage($this->getMock('TYPO3\\CMS\\Core\\Resource\\ResourceStorage', array(), array(), '', FALSE)); $mockedFactory = $this->getMock('TYPO3\\CMS\\Core\\Resource\\ResourceFactory'); $mockedFactory->expects($this->once())->method('createFolderObject')->with($this->anything(), $this->anything(), 'someSubfolder'); \TYPO3\CMS\Core\Utility\GeneralUtility::setSingletonInstance('TYPO3\\CMS\\Core\\Resource\\ResourceFactory', $mockedFactory); $fixture->getFolder($identifier); }
protected function setUp() { parent::setUp(); $this->singletonInstances = GeneralUtility::getSingletonInstances(); /** @var FileRepository|\PHPUnit_Framework_MockObject_MockObject $fileRepositoryMock */ $fileRepositoryMock = $this->getMock(FileRepository::class); GeneralUtility::setSingletonInstance(FileRepository::class, $fileRepositoryMock); $databaseMock = $this->getMock(DatabaseConnection::class); $databaseMock->expects($this->any())->method('exec_SELECTgetRows')->with('*', 'sys_file_storage', '1=1', '', 'name', '', 'uid')->willReturn(array()); $GLOBALS['TYPO3_DB'] = $databaseMock; }
protected function setUp() { $this->singletonInstances = GeneralUtility::getSingletonInstances(); // Suppress cache foo in xml helpers of GeneralUtility /** @var CacheManager|ObjectProphecy $cacheManagerProphecy */ $cacheManagerProphecy = $this->prophesize(CacheManager::class); GeneralUtility::setSingletonInstance(CacheManager::class, $cacheManagerProphecy->reveal()); $cacheFrontendProphecy = $this->prophesize(FrontendInterface::class); $cacheManagerProphecy->getCache(Argument::cetera())->willReturn($cacheFrontendProphecy->reveal()); $this->subject = new TcaFlexFetch(); }
protected function setUp() { $this->singletonInstances = GeneralUtility::getSingletonInstances(); // Disable xml2array cache used by ResourceFactory GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Cache\\CacheManager')->setCacheConfigurations(array('cache_hash' => array('frontend' => 'TYPO3\\CMS\\Core\\Cache\\Frontend\\VariableFrontend', 'backend' => 'TYPO3\\CMS\\Core\\Cache\\Backend\\TransientMemoryBackend'))); $this->setUpDocumentsStorageMock(); $this->setUpLanguagesStorageMock(); $mockedMetaDataRepository = $this->getMock('TYPO3\\CMS\\Core\\Resource\\Index\\MetaDataRepository'); $mockedMetaDataRepository->expects($this->any())->method('findByFile')->will($this->returnValue(array('file' => 1))); GeneralUtility::setSingletonInstance('TYPO3\\CMS\\Core\\Resource\\Index\\MetaDataRepository', $mockedMetaDataRepository); }
/** * @test */ public function executeCallsPersistAllOnPersistenceManager() { $objectManagerMock = $this->getMock(\TYPO3\CMS\Extbase\Object\ObjectManager::class); $objectManagerMock->expects($this->at(0))->method('get')->with(\TYPO3\CMS\Extensionmanager\Utility\Repository\Helper::class)->will($this->returnValue($this->repositoryHelper)); $persistenceManagerMock = $this->getMock(\TYPO3\CMS\Extbase\Persistence\Generic\PersistenceManager::class); $persistenceManagerMock->expects($this->once())->method('persistAll'); $objectManagerMock->expects($this->at(1))->method('get')->will($this->returnValue($persistenceManagerMock)); \TYPO3\CMS\Core\Utility\GeneralUtility::setSingletonInstance(\TYPO3\CMS\Extbase\Object\ObjectManager::class, $objectManagerMock); $task = $this->getMock(\TYPO3\CMS\Extensionmanager\Task\UpdateExtensionListTask::class, array('dummy'), array(), '', FALSE); $task->execute(); }
/** * Set up */ protected function setUp() { $this->singletonInstances = GeneralUtility::getSingletonInstances(); $this->formProphecy = $this->prophesize('TYPO3\\CMS\\Form\\Domain\\Model\\Form'); $this->typoScriptFactoryProphecy = $this->prophesize('TYPO3\\CMS\\Form\\Domain\\Factory\\TypoScriptFactory'); $this->typoScriptFactoryProphecy->getLayoutFromTypoScript(Argument::any())->willReturn(array()); GeneralUtility::setSingletonInstance('TYPO3\\CMS\\Form\\Domain\\Factory\\TypoScriptFactory', $this->typoScriptFactoryProphecy->reveal()); $this->typoScriptLayoutProphecy = $this->prophesize('TYPO3\\CMS\\Form\\Layout'); $templateServiceProphecy = $this->prophesize('TYPO3\\CMS\\Core\\TypoScript\\TemplateService'); $templateServiceProphecy->sortedKeyList(Argument::any())->willReturn(array(10, 20)); GeneralUtility::addInstance('TYPO3\\CMS\\Core\\TypoScript\\TemplateService', $templateServiceProphecy->reveal()); }
/** * */ public function setUp() { $contentObjectRendererProphecy = $this->prophesize('TYPO3\\CMS\\Frontend\\ContentObject\\ContentObjectRenderer'); GeneralUtility::addInstance('TYPO3\\CMS\\Frontend\\ContentObject\\ContentObjectRenderer', $contentObjectRendererProphecy->reveal()); $localisationProphecy = $this->prophesize('TYPO3\\CMS\\Form\\Localization'); GeneralUtility::addInstance('TYPO3\\CMS\\Form\\Localization', $localisationProphecy->reveal()); $requestProphecy = $this->prophesize('TYPO3\\CMS\\Form\\Request'); $this->singletonInstances = GeneralUtility::getSingletonInstances(); GeneralUtility::setSingletonInstance('TYPO3\\CMS\\Form\\Request', $requestProphecy->reveal()); $this->elementId = uniqid('elementId_', TRUE); $this->subject = new AttributesAttribute($this->elementId); }
/** * @test */ public function getDriverObjectAcceptsDriverClassName() { $mockedDriver = $this->getMockForAbstractClass(\TYPO3\CMS\Core\Resource\Driver\AbstractDriver::class); $driverFixtureClass = get_class($mockedDriver); \TYPO3\CMS\Core\Utility\GeneralUtility::addInstance($driverFixtureClass, $mockedDriver); $mockedMount = $this->getMock(\TYPO3\CMS\Core\Resource\ResourceStorage::class, array(), array(), '', false); $mockedRegistry = $this->getMock(\TYPO3\CMS\Core\Resource\Driver\DriverRegistry::class); $mockedRegistry->expects($this->once())->method('getDriverClass')->with($this->equalTo($driverFixtureClass))->will($this->returnValue($driverFixtureClass)); \TYPO3\CMS\Core\Utility\GeneralUtility::setSingletonInstance(\TYPO3\CMS\Core\Resource\Driver\DriverRegistry::class, $mockedRegistry); $obj = $this->subject->getDriverObject($driverFixtureClass, array()); $this->assertInstanceOf(\TYPO3\CMS\Core\Resource\Driver\AbstractDriver::class, $obj); }
/** * Initializes the caching framework by loading the cache manager and factory * into the global context. * * @return void */ public static function initializeCachingFramework() { if (!self::isCachingFrameworkInitialized()) { // New operator used on purpose, makeInstance() is not ready to be used so early in bootstrap $GLOBALS['typo3CacheManager'] = new \TYPO3\CMS\Core\Cache\CacheManager(); \TYPO3\CMS\Core\Utility\GeneralUtility::setSingletonInstance('TYPO3\\CMS\\Core\\Cache\\CacheManager', $GLOBALS['typo3CacheManager']); $GLOBALS['typo3CacheManager']->setCacheConfigurations($GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations']); // New operator used on purpose, makeInstance() is not ready to be used so early in bootstrap $GLOBALS['typo3CacheFactory'] = new \TYPO3\CMS\Core\Cache\CacheFactory('production', $GLOBALS['typo3CacheManager']); \TYPO3\CMS\Core\Utility\GeneralUtility::setSingletonInstance('TYPO3\\CMS\\Core\\Cache\\CacheFactory', $GLOBALS['typo3CacheFactory']); self::$isCachingFrameworkInitialized = TRUE; } }
/** * @test */ public function executeDoesNotCallCollectGarbageOfNotConfiguredBackend() { $cache = $this->getMock(\TYPO3\CMS\Core\Cache\Frontend\StringFrontend::class, array(), array(), '', false); $cache->expects($this->any())->method('getIdentifier')->will($this->returnValue('cache')); $cache->expects($this->never())->method('collectGarbage'); $mockCacheManager = new \TYPO3\CMS\Core\Cache\CacheManager(); $mockCacheManager->registerCache($cache); GeneralUtility::setSingletonInstance(\TYPO3\CMS\Core\Cache\CacheManager::class, $mockCacheManager); $GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations'] = array('cache' => array('frontend' => \TYPO3\CMS\Core\Cache\Frontend\StringFrontend::class, 'backend' => \TYPO3\CMS\Core\Cache\Backend\AbstractBackend::class)); /** @var \TYPO3\CMS\Scheduler\Task\CachingFrameworkGarbageCollectionTask|\PHPUnit_Framework_MockObject_MockObject $subject */ $subject = $this->getMock(\TYPO3\CMS\Scheduler\Task\CachingFrameworkGarbageCollectionTask::class, array('dummy'), array(), '', false); $subject->selectedBackends = array(\TYPO3\CMS\Core\Cache\Backend\NullBackend::class); $subject->execute(); }
/** * Initializes the caching framework by loading the cache manager and factory * into the global context. * * @return CacheManager */ public static function initializeCachingFramework() { if (!self::isCachingFrameworkInitialized()) { // New operator used on purpose, makeInstance() is not ready to be used so early in bootstrap self::$cacheManager = new CacheManager(); GeneralUtility::setSingletonInstance(\TYPO3\CMS\Core\Cache\CacheManager::class, self::$cacheManager); self::$cacheManager->setCacheConfigurations($GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations']); // New operator used on purpose, makeInstance() is not ready to be used so early in bootstrap self::$cacheFactory = new CacheFactory('production', self::$cacheManager); GeneralUtility::setSingletonInstance(\TYPO3\CMS\Core\Cache\CacheFactory::class, self::$cacheFactory); self::$isCachingFrameworkInitialized = TRUE; } return self::$cacheManager; }
/** * @test */ public function addDataSetsFolderData() { $input = ['databaseRow' => ['aField' => '1:/aFolder/anotherFolder/'], 'processedTca' => ['columns' => ['aField' => ['config' => ['type' => 'group', 'internal_type' => 'folder']]]]]; /** @var Folder|ObjectProphecy $relationHandlerProphecy */ $folderProphecy = $this->prophesize(Folder::class); $folderProphecy->getIdentifier()->shouldBeCalled()->willReturn('anotherFolder'); /** @var ResourceFactory|ObjectProphecy $relationHandlerProphecy */ $resourceFactoryProphecy = $this->prophesize(ResourceFactory::class); GeneralUtility::setSingletonInstance(ResourceFactory::class, $resourceFactoryProphecy->reveal()); $resourceFactoryProphecy->retrieveFileOrFolderObject('1:/aFolder/anotherFolder/')->shouldBeCalled()->willReturn($folderProphecy->reveal()); $expected = $input; $expected['databaseRow']['aField'] = '1%3A%2FaFolder%2FanotherFolder%2F|anotherFolder'; $this->assertSame($expected, $this->subject->addData($input)); }
public function setUp() { $this->singletonInstances = GeneralUtility::getSingletonInstances(); // Disable xml2array cache used by ResourceFactory GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Cache\\CacheManager')->setCacheConfigurations(array('cache_hash' => array('frontend' => 'TYPO3\\CMS\\Core\\Cache\\Frontend\\VariableFrontend', 'backend' => 'TYPO3\\CMS\\Core\\Cache\\Backend\\TransientMemoryBackend'))); $this->testDocumentsPath = ExtensionManagementUtility::extPath('tika') . 'Tests/TestDocuments/'; $driver = $this->createDriverFixture(array('basePath' => $this->testDocumentsPath, 'caseSensitive' => TRUE)); $storageRecord = array('uid' => $this->storageUid, 'is_public' => TRUE, 'is_writable' => FALSE, 'is_browsable' => TRUE, 'is_online' => TRUE, 'configuration' => $this->convertConfigurationArrayToFlexformXml(array('basePath' => $this->testDocumentsPath, 'pathType' => 'absolute', 'caseSensitive' => '1'))); $this->storageMock = $this->getMock('TYPO3\\CMS\\Core\\Resource\\ResourceStorage', NULL, array($driver, $storageRecord)); $this->storageMock->expects($this->any())->method('getUid')->will($this->returnValue($this->storageUid)); $mockedMetaDataRepository = $this->getMock('TYPO3\\CMS\\Core\\Resource\\Index\\MetaDataRepository'); $mockedMetaDataRepository->expects($this->any())->method('findByFile')->will($this->returnValue(array('file' => 1))); \TYPO3\CMS\Core\Utility\GeneralUtility::setSingletonInstance('TYPO3\\CMS\\Core\\Resource\\Index\\MetaDataRepository', $mockedMetaDataRepository); }
/** * @test */ public function configureObjectManagerRespectsOverridingOfAlternativeObjectRegistrationViaPluginConfiguration() { /** @var $objectContainer \TYPO3\CMS\Extbase\Object\Container\Container|\PHPUnit_Framework_MockObject_MockObject */ $objectContainer = $this->getMock(\TYPO3\CMS\Extbase\Object\Container\Container::class, array('registerImplementation')); $objectContainer->expects($this->once())->method('registerImplementation')->with(\TYPO3\CMS\Extbase\Persistence\PersistenceManagerInterface::class, 'TYPO3\\CMS\\Extbase\\Persistence\\Reddis\\PersistenceManager'); \TYPO3\CMS\Core\Utility\GeneralUtility::setSingletonInstance(\TYPO3\CMS\Extbase\Object\Container\Container::class, $objectContainer); $frameworkSettings['objects'] = array('TYPO3\\CMS\\Extbase\\Persistence\\PersistenceManagerInterface.' => array('className' => 'TYPO3\\CMS\\Extbase\\Persistence\\Reddis\\PersistenceManager')); /** @var $configurationManagerMock \TYPO3\CMS\Extbase\Configuration\ConfigurationManager|\PHPUnit_Framework_MockObject_MockObject|\Tx_Phpunit_Interface_AccessibleObject */ $configurationManagerMock = $this->getAccessibleMock(\TYPO3\CMS\Extbase\Configuration\ConfigurationManager::class, array('getConfiguration')); $configurationManagerMock->expects($this->any())->method('getConfiguration')->with('Framework')->will($this->returnValue($frameworkSettings)); /** @var \TYPO3\CMS\Extbase\Object\ObjectManagerInterface|\PHPUnit_Framework_MockObject_MockObject $objectManager */ $objectManager = $this->getMock(\TYPO3\CMS\Extbase\Object\ObjectManager::class); /** @var $bootstrapMock \TYPO3\CMS\Extbase\Core\Bootstrap|\PHPUnit_Framework_MockObject_MockObject|\Tx_Phpunit_Interface_AccessibleObject */ $bootstrapMock = $this->getAccessibleMock(\TYPO3\CMS\Extbase\Core\Bootstrap::class, array('inject')); $bootstrapMock->_set('objectManager', $objectManager); $bootstrapMock->_set('configurationManager', $configurationManagerMock); $bootstrapMock->configureObjectManager(); }
/** * @test */ public function renderAssignsSettingsArrayToView() { $this->addMockViewToSubject(); $configuration = array('settings.' => array('foo' => 'value', 'bar.' => array('baz' => 'value2'))); $expectedSettingsToBeSet = array('foo' => 'value', 'bar' => array('baz' => 'value2')); /** @var TypoScriptService|\PHPUnit_Framework_MockObject_MockObject $typoScriptServiceMock */ $typoScriptServiceMock = $this->getMock(\TYPO3\CMS\Extbase\Service\TypoScriptService::class); $typoScriptServiceMock->expects($this->once())->method('convertTypoScriptArrayToPlainArray')->with($configuration['settings.'])->will($this->returnValue($expectedSettingsToBeSet)); GeneralUtility::setSingletonInstance(\TYPO3\CMS\Extbase\Service\TypoScriptService::class, $typoScriptServiceMock); $this->standaloneView->expects($this->at(1))->method('assign')->with('settings', $expectedSettingsToBeSet); $this->subject->render($configuration); }
/** * @test */ public function addDataItemsProcFuncEnqueuesFlashMessageOnException() { $input = ['tableName' => 'aTable', 'databaseRow' => ['aField' => 'aValue'], 'pageTsConfig' => ['TCEFORM.' => ['aTable.' => ['aField.' => ['itemsProcFunc.' => ['itemParamKey' => 'itemParamValue']]]]], 'processedTca' => ['columns' => ['aField' => ['config' => ['type' => 'check', 'aKey' => 'aValue', 'items' => [0 => ['foo', 'bar']], 'itemsProcFunc' => function (array $parameters, $pObj) { throw new \UnexpectedValueException('anException', 1438604329); }]]]]]; $languageService = $this->prophesize(LanguageService::class); $GLOBALS['LANG'] = $languageService->reveal(); /** @var FlashMessage|ObjectProphecy $flashMessage */ $flashMessage = $this->prophesize(FlashMessage::class); GeneralUtility::addInstance(FlashMessage::class, $flashMessage->reveal()); /** @var FlashMessageService|ObjectProphecy $flashMessageService */ $flashMessageService = $this->prophesize(FlashMessageService::class); GeneralUtility::setSingletonInstance(FlashMessageService::class, $flashMessageService->reveal()); /** @var FlashMessageQueue|ObjectProphecy $flashMessageQueue */ $flashMessageQueue = $this->prophesize(FlashMessageQueue::class); $flashMessageService->getMessageQueueByIdentifier(Argument::cetera())->willReturn($flashMessageQueue->reveal()); $flashMessageQueue->enqueue($flashMessage)->shouldBeCalled(); $this->subject->addData($input); }
/** * Initialize caching framework, and re-initializes it (e.g. in the install tool) by recreating the instances * again despite the Singleton instance * * @return Bootstrap * @internal This is not a public API method, do not use in own extensions */ public function initializeCachingFramework() { $cacheManager = new \TYPO3\CMS\Core\Cache\CacheManager(); $cacheManager->setCacheConfigurations($GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations']); GeneralUtility::setSingletonInstance(\TYPO3\CMS\Core\Cache\CacheManager::class, $cacheManager); $cacheFactory = new \TYPO3\CMS\Core\Cache\CacheFactory('production', $cacheManager); GeneralUtility::setSingletonInstance(\TYPO3\CMS\Core\Cache\CacheFactory::class, $cacheFactory); $this->setEarlyInstance(\TYPO3\CMS\Core\Cache\CacheManager::class, $cacheManager); return $this; }
/** * @test */ public function doesMakeCategorizableCallsTheCategoryRegistryWithFieldName() { $extensionKey = $this->getUniqueId('extension'); $tableName = $this->getUniqueId('table'); $fieldName = $this->getUniqueId('field'); /** @var CategoryRegistry|\PHPUnit_Framework_MockObject_MockObject $registryMock */ $registryMock = $this->getMock(CategoryRegistry::class); $registryMock->expects($this->once())->method('add')->with($extensionKey, $tableName, $fieldName, array()); GeneralUtility::setSingletonInstance(CategoryRegistry::class, $registryMock); ExtensionManagementUtility::makeCategorizable($extensionKey, $tableName, $fieldName); }
/** * @test */ public function doesMakeCategorizableCallsTheCategoryRegistryWithFieldName() { $extensionKey = $this->getUniqueId('extension'); $tableName = $this->getUniqueId('table'); $fieldName = $this->getUniqueId('field'); $registryMock = $this->getMock('TYPO3\\CMS\\Core\\Category\\CategoryRegistry'); $registryMock->expects($this->once())->method('add')->with($extensionKey, $tableName, $fieldName, array()); \TYPO3\CMS\Core\Utility\GeneralUtility::setSingletonInstance('TYPO3\\CMS\\Core\\Category\\CategoryRegistry', $registryMock); ExtensionManagementUtility::makeCategorizable($extensionKey, $tableName, $fieldName); }
/** * Sets up this test case * * @return void */ public function setUp() { $this->singletonInstances = \TYPO3\CMS\Core\Utility\GeneralUtility::getSingletonInstances(); $this->view = $this->getAccessibleMock('TYPO3\\CMS\\Fluid\\View\\StandaloneView', array('dummy'), array(), '', FALSE); $this->mockTemplateParser = $this->getMock('TYPO3\\CMS\\Fluid\\Core\\Parser\\TemplateParser'); $this->mockParsedTemplate = $this->getMock('TYPO3\\CMS\\Fluid\\Core\\Parser\\ParsedTemplateInterface'); $this->mockTemplateParser->expects($this->any())->method('parse')->will($this->returnValue($this->mockParsedTemplate)); $this->mockConfigurationManager = $this->getMock('TYPO3\\CMS\\Extbase\\Configuration\\ConfigurationManagerInterface'); $this->mockObjectManager = $this->getMock('TYPO3\\CMS\\Extbase\\Object\\ObjectManager'); $this->mockObjectManager->expects($this->any())->method('get')->will($this->returnCallback(array($this, 'objectManagerCallback'))); $this->mockRequest = $this->getMock('TYPO3\\CMS\\Extbase\\Mvc\\Web\\Request'); $this->mockUriBuilder = $this->getMock('TYPO3\\CMS\\Extbase\\Mvc\\Web\\Routing\\UriBuilder'); $this->mockContentObject = $this->getMock('TYPO3\\CMS\\Frontend\\ContentObject\\ContentObjectRenderer'); $this->mockControllerContext = $this->getMock('TYPO3\\CMS\\Extbase\\Mvc\\Controller\\ControllerContext'); $this->mockControllerContext->expects($this->any())->method('getRequest')->will($this->returnValue($this->mockRequest)); $this->mockViewHelperVariableContainer = $this->getMock('TYPO3\\CMS\\Fluid\\Core\\ViewHelper\\ViewHelperVariableContainer'); $this->mockRenderingContext = $this->getMock('TYPO3\\CMS\\Fluid\\Core\\Rendering\\RenderingContext'); $this->mockRenderingContext->expects($this->any())->method('getControllerContext')->will($this->returnValue($this->mockControllerContext)); $this->mockRenderingContext->expects($this->any())->method('getViewHelperVariableContainer')->will($this->returnValue($this->mockViewHelperVariableContainer)); $this->view->_set('templateParser', $this->mockTemplateParser); $this->view->_set('objectManager', $this->mockObjectManager); $this->view->setRenderingContext($this->mockRenderingContext); $this->mockTemplateCompiler = $this->getMock('TYPO3\\CMS\\Fluid\\Core\\Compiler\\TemplateCompiler'); $this->view->_set('templateCompiler', $this->mockTemplateCompiler); \TYPO3\CMS\Core\Utility\GeneralUtility::setSingletonInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager', $this->mockObjectManager); \TYPO3\CMS\Core\Utility\GeneralUtility::addInstance('TYPO3\\CMS\\Frontend\\ContentObject\\ContentObjectRenderer', $this->mockContentObject); $mockCacheManager = $this->getMock('TYPO3\\CMS\\Core\\Cache\\CacheManager', array(), array(), '', FALSE); $mockCache = $this->getMock('TYPO3\\CMS\\Core\\Cache\\Frontend\\PhpFrontend', array(), array(), '', FALSE); $mockCacheManager->expects($this->any())->method('getCache')->will($this->returnValue($mockCache)); \TYPO3\CMS\Core\Utility\GeneralUtility::setSingletonInstance('TYPO3\\CMS\\Core\\Cache\\CacheManager', $mockCacheManager); }
/** * @param ConsoleBootstrap $bootstrap */ public static function initializeCachingFramework(ConsoleBootstrap $bootstrap) { // Cache framework initialisation for TYPO3 CMS <= 7.3 if (class_exists('TYPO3\\CMS\\Core\\Cache\\Cache')) { $bootstrap->setEarlyInstance('TYPO3\\CMS\\Core\\Cache\\CacheManager', \TYPO3\CMS\Core\Cache\Cache::initializeCachingFramework()); // @deprecated since 6.2 will be removed in two versions if (class_exists('TYPO3\\CMS\\Core\\Compatibility\\GlobalObjectDeprecationDecorator')) { $GLOBALS['typo3CacheManager'] = new \TYPO3\CMS\Core\Compatibility\GlobalObjectDeprecationDecorator('TYPO3\\CMS\\Core\\Cache\\CacheManager'); $GLOBALS['typo3CacheFactory'] = new \TYPO3\CMS\Core\Compatibility\GlobalObjectDeprecationDecorator('TYPO3\\CMS\\Core\\Cache\\CacheFactory'); } } else { $cacheManager = new \TYPO3\CMS\Core\Cache\CacheManager(); $cacheManager->setCacheConfigurations($GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations']); \TYPO3\CMS\Core\Utility\GeneralUtility::setSingletonInstance(\TYPO3\CMS\Core\Cache\CacheManager::class, $cacheManager); $cacheFactory = new \TYPO3\CMS\Core\Cache\CacheFactory('production', $cacheManager); \TYPO3\CMS\Core\Utility\GeneralUtility::setSingletonInstance(\TYPO3\CMS\Core\Cache\CacheFactory::class, $cacheFactory); $bootstrap->setEarlyInstance(\TYPO3\CMS\Core\Cache\CacheManager::class, $cacheManager); } }
/** * Sets up this test case * * @return void */ protected function setUp() { $this->singletonInstances = GeneralUtility::getSingletonInstances(); $this->view = $this->getAccessibleMock(\TYPO3\CMS\Fluid\View\StandaloneView::class, array('testFileExistence', 'buildParserConfiguration', 'getOrParseAndStoreTemplate'), array(), '', false); $this->mockConfigurationManager = $this->getMock(ConfigurationManagerInterface::class); $this->mockObjectManager = $this->getMock(\TYPO3\CMS\Extbase\Object\ObjectManager::class); $this->mockObjectManager->expects($this->any())->method('get')->will($this->returnCallback(array($this, 'objectManagerCallback'))); $this->mockRequest = $this->getMock(Request::class); $this->mockUriBuilder = $this->getMock(UriBuilder::class); $this->mockContentObject = $this->getMock(\TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer::class); $this->mockControllerContext = $this->getMock(ControllerContext::class); $this->mockControllerContext->expects($this->any())->method('getRequest')->will($this->returnValue($this->mockRequest)); $this->mockTemplatePaths = $this->getMock(TemplatePaths::class); $this->mockViewHelperVariableContainer = $this->getMock(ViewHelperVariableContainer::class); $this->mockRenderingContext = $this->getMock(\TYPO3\CMS\Fluid\Tests\Unit\Core\Rendering\RenderingContextFixture::class); $this->mockRenderingContext->expects($this->any())->method('getControllerContext')->will($this->returnValue($this->mockControllerContext)); $this->mockRenderingContext->expects($this->any())->method('getViewHelperVariableContainer')->will($this->returnValue($this->mockViewHelperVariableContainer)); $this->mockRenderingContext->expects($this->any())->method('getVariableProvider')->willReturn($this->mockVariableProvider); $this->mockRenderingContext->expects($this->any())->method('getTemplatePaths')->willReturn($this->mockTemplatePaths); $this->view->_set('objectManager', $this->mockObjectManager); $this->view->_set('baseRenderingContext', $this->mockRenderingContext); $this->view->_set('controllerContext', $this->mockControllerContext); $this->view->expects($this->any())->method('getOrParseAndStoreTemplate')->willReturn($this->mockParsedTemplate); GeneralUtility::setSingletonInstance(\TYPO3\CMS\Extbase\Object\ObjectManager::class, $this->mockObjectManager); GeneralUtility::addInstance(\TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer::class, $this->mockContentObject); $this->mockCacheManager = $this->getMock(\TYPO3\CMS\Core\Cache\CacheManager::class, array(), array(), '', false); $mockCache = $this->getMock(\TYPO3Fluid\Fluid\Core\Cache\FluidCacheInterface::class, array(), array(), '', false); $this->mockCacheManager->expects($this->any())->method('getCache')->will($this->returnValue($mockCache)); GeneralUtility::setSingletonInstance(\TYPO3\CMS\Core\Cache\CacheManager::class, $this->mockCacheManager); }
/** * @test */ public function resetSingletonInstancesResetsPreviouslySetInstance() { $instance = $this->getMock('TYPO3\\CMS\\Core\\SingletonInterface'); $instanceClassName = get_class($instance); Utility\GeneralUtility::setSingletonInstance($instanceClassName, $instance); Utility\GeneralUtility::resetSingletonInstances(array()); $registeredSingletonInstances = Utility\GeneralUtility::getSingletonInstances(); $this->assertArrayNotHasKey($instanceClassName, $registeredSingletonInstances); }
/** * Wrapper for buildBaseTcaFromSingleFiles handling caching. * * This builds 'base' TCA that is later overloaded by ext_tables.php. * * Use a cache file if exists and caching is allowed. * * This is an internal method. It is only used during bootstrap and * extensions should not use it! * * @param bool $allowCaching Whether or not to load / create concatenated cache file * @return void * @access private */ public static function loadBaseTca($allowCaching = true) { if ($allowCaching) { $cacheIdentifier = static::getBaseTcaCacheIdentifier(); /** @var $codeCache \TYPO3\CMS\Core\Cache\Frontend\PhpFrontend */ $codeCache = static::getCacheManager()->getCache('cache_core'); if ($codeCache->has($cacheIdentifier)) { // substr is necessary, because the php frontend wraps php code around the cache value $cacheData = unserialize(substr($codeCache->get($cacheIdentifier), 6, -2)); $GLOBALS['TCA'] = $cacheData['tca']; GeneralUtility::setSingletonInstance(CategoryRegistry::class, $cacheData['categoryRegistry']); } else { static::buildBaseTcaFromSingleFiles(); static::createBaseTcaCacheFile(); } } else { static::buildBaseTcaFromSingleFiles(); } }
/** * @test */ public function getSubfolderCallsFactoryWithCorrectArguments() { $mockedStorage = $this->getMock('TYPO3\\CMS\\Core\\Resource\\ResourceStorage', array(), array(), '', FALSE); $mockedStorage->expects($this->once())->method('hasFolderInFolder')->with($this->equalTo('someSubfolder'))->will($this->returnValue(TRUE)); $mockedFactory = $this->getMock('TYPO3\\CMS\\Core\\Resource\\ResourceFactory'); $mockedFactory->expects($this->once())->method('createFolderObject')->with($mockedStorage, '/somePath/someFolder/someSubfolder/', 'someSubfolder'); \TYPO3\CMS\Core\Utility\GeneralUtility::setSingletonInstance('TYPO3\\CMS\\Core\\Resource\\ResourceFactory', $mockedFactory); $fixture = $this->createFolderFixture('/somePath/someFolder/', 'someFolder', $mockedStorage); $fixture->getSubfolder('someSubfolder'); }