コード例 #1
0
ファイル: ProxyFilter.php プロジェクト: punktde/pt_extlist
 /**
  * Get the Configurationbuilder for the real list
  *
  * @throws Exception
  * @return Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder
  */
 protected function getConfigurationBuilderForRealList()
 {
     $configurationBuilder = $this->configurationBuilderFactory->getInstance($this->proxyListIdentifier);
     if ($configurationBuilder->getListIdentifier() != $this->proxyListIdentifier) {
         throw new Exception('Tried to get configurationBuilder for listIdentifier ' . $this->proxyListIdentifier . ', but got ' . $configurationBuilder->getListIdentifier());
     }
     return $configurationBuilder;
 }
コード例 #2
0
 /**
  * Returns a data backend factory for given TS settings and list identifier. If no list identifier is given,
  * list identifier is taken from $settings['listIdentifier'].
  *
  * @param array $typoScriptSettingsForListIdentifier The settings array as we get it from configurationManager ATTENTION: This is not the settings array for the list identifier!!!
  * @param string $listIdentifier
  * @return Tx_PtExtlist_Domain_DataBackend_DataBackendFactory
  * @throws Exception if no list identifier can be determined
  */
 public function getDataBackendFactoryMock($typoScriptSettingsForListIdentifier, $listIdentifier = NULL)
 {
     if (!$listIdentifier) {
         $listIdentifier = $typoScriptSettingsForListIdentifier['listIdentifier'];
     }
     if (!$listIdentifier) {
         throw new Exception('No list identifier was given and no list identifier could be found in given TS settings. 1363856864');
     }
     $configurationManagerMock = $this->getMock('\\TYPO3\\CMS\\Extbase\\Configuration\\ConfigurationManager', array('getConfiguration'), array(), '', FALSE);
     $configurationManagerMock->expects($this->any())->method('getConfiguration')->will($this->returnValue($typoScriptSettingsForListIdentifier));
     /* @var $configurationManagerMock \TYPO3\CMS\Extbase\Configuration\ConfigurationManager */
     $configurationBuilderInstancesContainer = new Tx_PtExtlist_Domain_Configuration_ConfigurationBuilderInstancesContainer();
     $configurationBuilderFactory = new Tx_PtExtlist_Domain_Configuration_ConfigurationBuilderFactory();
     $configurationBuilderFactory->injectConfigurationManager($configurationManagerMock);
     $configurationBuilderFactory->setSettings($typoScriptSettingsForListIdentifier);
     $configurationBuilderFactory->injectConfigurationBuilderInstancesContainer($configurationBuilderInstancesContainer);
     $configurationBuilderFactory->getInstance($listIdentifier);
     $instancesContainer = GeneralUtility::makeInstance('Tx_PtExtlist_Domain_DataBackend_DataBackendInstancesContainer');
     /* @var $instancesContainer Tx_PtExtlist_Domain_DataBackend_DataBackendInstancesContainer  */
     $objectManagerMock = $this->getMock('\\TYPO3\\CMS\\Extbase\\Object\\ObjectManager', array('get'), array(), '', FALSE);
     $objectManagerMock->expects($this->any())->method('get')->with('Tx_PtExtlist_Domain_DataBackend_Typo3DataBackend_Typo3DataBackend', $configurationBuilderFactory->getInstance($listIdentifier))->will($this->returnValue(new Tx_PtExtlist_Domain_DataBackend_Typo3DataBackend_Typo3DataBackend($configurationBuilderFactory->getInstance($listIdentifier))));
     /* @var $objectManagerMock \TYPO3\CMS\Extbase\Object\ObjectManager */
     $dataBackendFactory = new Tx_PtExtlist_Domain_DataBackend_DataBackendFactory();
     $dataBackendFactory->injectObjectManager($objectManagerMock);
     $dataBackendFactory->injectConfigurationBuilderFactory($configurationBuilderFactory);
     $dataBackendFactory->injectInstancesContainer($instancesContainer);
     $dataBackendFactory->injectMapperFactory($this->objectManager->get('Tx_PtExtlist_Domain_DataBackend_Mapper_MapperFactory'));
     $dataBackendFactory->injectFilterboxCollectionFactory($this->objectManager->get('Tx_PtExtlist_Domain_Model_Filter_FilterboxCollectionFactory'));
     $dataBackendFactory->injectPagerCollectionFactory($this->objectManager->get('Tx_PtExtlist_Domain_Model_Pager_PagerCollectionFactory'));
     $dataBackendFactory->injectSorterFactory($this->objectManager->get('Tx_PtExtlist_Domain_Model_Sorting_SorterFactory'));
     return $dataBackendFactory;
 }
コード例 #3
0
 /**
  * @return Tx_PtExtlist_Domain_Configuration_ConfigurationBuilder
  * @throws Exception
  */
 protected function buildConfigurationBuilder()
 {
     $this->configurationBuilder = $this->configurationBuilderFactory->getInstance($this->listIdentifier, $this->resetConfigurationBuilder);
 }
コード例 #4
0
 private function buildDataBackendForListIdentifier($listIdentifier)
 {
     $configurationBuilderForListIdentifier = $this->configurationBuilderFactory->getInstance($listIdentifier);
     $this->buildDataBackendForConfigurationBuilder($configurationBuilderForListIdentifier);
 }
コード例 #5
0
 /** @test */
 public function getInstanceReturnsSingletonInstanceForSameListIdentifier()
 {
     $configurationBuilderFactory = new Tx_PtExtlist_Domain_Configuration_ConfigurationBuilderFactory();
     $configurationManagerMock = $this->getMock('\\TYPO3\\CMS\\Extbase\\Configuration\\ConfigurationManager', array('getConfiguration'), array(), '', false);
     $configurationManagerMock->expects($this->any())->method('getConfiguration')->will($this->returnValue($this->settings));
     /* @var $configurationManagerMock \TYPO3\CMS\Extbase\Configuration\ConfigurationManager */
     $configurationBuilderFactory->injectConfigurationManager($configurationManagerMock);
     $configurationBuilderInstancesContainer = new Tx_PtExtlist_Domain_Configuration_ConfigurationBuilderInstancesContainer();
     $configurationBuilderFactory->injectConfigurationBuilderInstancesContainer($configurationBuilderInstancesContainer);
     $firstInstance = $configurationBuilderFactory->getInstance('test');
     $secondInstance = $configurationBuilderFactory->getInstance('test');
     $this->assertTrue($firstInstance === $secondInstance);
 }