2 namespace TYPO3\CMS\Install\Tests\Unit\Controller\Action\Ajax;
51 if (file_exists(PATH_site .
'typo3temp/ExtensionCompatibilityTester.txt')) {
52 unlink(PATH_site .
'typo3temp/ExtensionCompatibilityTester.txt');
62 $GLOBALS[
'TYPO3_LOADED_EXT'] = array(
66 $extensionCompatibilityTesterMock = $this->getAccessibleMock(\TYPO3\CMS\Install\Controller\Action\Ajax\ExtensionCompatibilityTester::class, array(
'getExtensionsToExclude'), array());
67 $extensionCompatibilityTesterMock->expects($this->once())->method(
'getExtensionsToExclude')->will($this->returnValue(array(
'info')));
68 $result = $extensionCompatibilityTesterMock->_call(
'getExtensionsToLoad');
69 $this->assertEquals(array(
'news' =>
''), $result);
77 $extensionCompatibilityTesterMock = $this->getAccessibleMock(\TYPO3\CMS\Install\Controller\Action\Ajax\ExtensionCompatibilityTester::class, array(
'getExtensionsToLoad',
'tryToLoadExtLocalconfAndExtTablesOfExtensions',
'deleteProtocolFile'), array());
78 $extensionCompatibilityTesterMock->expects($this->once())->method(
'getExtensionsToLoad')->will($this->returnValue(array()));
79 $result = $extensionCompatibilityTesterMock->_call(
'executeAction');
80 $this->assertEquals(
'OK', $result);
88 $extensionCompatibilityTesterMock = $this->getAccessibleMock(\TYPO3\CMS\Install\Controller\Action\Ajax\ExtensionCompatibilityTester::class, array(
'getExtensionsToLoad',
'deleteProtocolFile',
'tryToLoadExtLocalconfAndExtTablesOfExtensions'), array());
89 $extensionCompatibilityTesterMock->expects($this->once())->method(
'getExtensionsToLoad')->will($this->returnValue(array()));
90 $extensionCompatibilityTesterMock->expects($this->once())->method(
'getExtensionsToLoad');
91 $extensionCompatibilityTesterMock->_call(
'executeAction');
99 $extensionCompatibilityTesterMock = $this->getAccessibleMock(\TYPO3\CMS\Install\Controller\Action\Ajax\ExtensionCompatibilityTester::class, array(
'tryToLoadExtLocalconfAndExtTablesOfExtensions',
'getExtensionsToLoad',
'deleteProtocolFile'), array());
100 $extensionCompatibilityTesterMock->expects($this->once())->method(
'getExtensionsToLoad')->will($this->returnValue(array()));
101 $extensionCompatibilityTesterMock->expects($this->once())->method(
'tryToLoadExtLocalconfAndExtTablesOfExtensions');
102 $extensionCompatibilityTesterMock->_call(
'executeAction');
110 $extensionCompatibilityTesterMock = $this->getAccessibleMock(\TYPO3\CMS\Install\Controller\Action\Ajax\ExtensionCompatibilityTester::class, array(
'tryToLoadExtLocalconfAndExtTablesOfExtensions',
'getExtensionsToLoad',
'deleteProtocolFile'), array());
111 $extensionCompatibilityTesterMock->expects($this->once())->method(
'getExtensionsToLoad')->will($this->returnValue(array()));
112 $_GET[
'install'][
'extensionCompatibilityTester'][
'forceCheck'] = 1;
113 $extensionCompatibilityTesterMock->expects($this->once())->method(
'deleteProtocolFile');
114 $extensionCompatibilityTesterMock->_call(
'executeAction');
115 unset($_GET[
'install'][
'extensionCompatibilityTester'][
'forceCheck']);
123 $extensionCompatibilityTesterMock = $this->getAccessibleMock(\TYPO3\CMS\Install\Controller\Action\Ajax\ExtensionCompatibilityTester::class, array(
'dummy'), array());
125 $extensionCompatibilityTesterMock->_call(
'deleteProtocolFile');
126 $this->assertFalse(file_exists(PATH_site .
'typo3temp/ExtensionCompatibilityTester.txt'));
139 $packageManager = $this->getMock(\TYPO3\CMS\Core\Package\PackageManager::class, array(), array(),
'',
false);
140 $packageManager->expects($this->any())->method(
'getActivePackages')->will($this->returnValue(array()));
146 'ext_tables.php' => PATH_typo3 .
'sysext/install/Tests/Unit/Controller/Action/Ajax/Fixtures/demo1/ext_tables.php'
149 $extensionCompatibilityTesterMock = $this->getAccessibleMock(\TYPO3\CMS\Install\Controller\Action\Ajax\ExtensionCompatibilityTester::class, array(
'loadExtLocalconfForExtension',
'writeCurrentExtensionToFile',
'loadExtTablesForExtension',
'removeCurrentExtensionFromFile'), array());
150 $extensionCompatibilityTesterMock->expects($this->atLeastOnce())->method(
'loadExtTablesForExtension');
151 $extensionCompatibilityTesterMock->_call(
'tryToLoadExtLocalconfAndExtTablesOfExtensions', $extension);
162 $packageManager = $this->getMock(\TYPO3\CMS\Core\Package\PackageManager::class, array(), array(),
'',
false);
163 $packageManager->expects($this->any())->method(
'getActivePackages')->will($this->returnValue(array()));
169 'ext_localconf.php' => PATH_typo3 .
'sysext/install/Tests/Unit/Controller/Action/Ajax/Fixtures/demo1/ext_localconf.php'
172 $extensionCompatibilityTesterMock = $this->getAccessibleMock(\TYPO3\CMS\Install\Controller\Action\Ajax\ExtensionCompatibilityTester::class, array(
'loadExtLocalconfForExtension',
'writeCurrentExtensionToFile',
'loadExtTablesForExtension',
'removeCurrentExtensionFromFile'), array());
173 $extensionCompatibilityTesterMock->expects($this->atLeastOnce())->method(
'loadExtLocalconfForExtension');
174 $extensionCompatibilityTesterMock->_call(
'tryToLoadExtLocalconfAndExtTablesOfExtensions', $extension);
185 'ext_localconf.php' => PATH_typo3 .
'sysext/install/Tests/Unit/Controller/Action/Ajax/Fixtures/demo1/ext_localconf.php'
188 $extensionCompatibilityTesterMock = $this->getAccessibleMock(\TYPO3\CMS\Install\Controller\Action\Ajax\ExtensionCompatibilityTester::class, array(
'dummy'), array());
189 $extensionCompatibilityTesterMock->_call(
'loadExtLocalconfForExtension',
'demo1', $extension[
'demo1']);
190 $this->assertArrayHasKey(
'demo1_executed',
$GLOBALS);
191 $this->assertEquals(
'foobaz',
$GLOBALS[
'demo1_executed']);
203 $packageManager = $this->getMock(\TYPO3\CMS\Core\Package\PackageManager::class, array(), array(),
'',
false);
204 $packageManager->expects($this->any())->method(
'getActivePackages')->will($this->returnValue(array()));
210 'ext_tables.php' => PATH_typo3 .
'sysext/install/Tests/Unit/Controller/Action/Ajax/Fixtures/demo1/ext_tables.php'
213 $extensionCompatibilityTesterMock = $this->getAccessibleMock(\TYPO3\CMS\Install\Controller\Action\Ajax\ExtensionCompatibilityTester::class, array(
'loadExtLocalconfForExtension',
'writeCurrentExtensionToFile',
'loadExtTablesForExtension',
'removeCurrentExtensionFromFile'), array());
214 $extensionCompatibilityTesterMock->expects($this->atLeastOnce())->method(
'writeCurrentExtensionToFile')->with(
'demo1');
215 $extensionCompatibilityTesterMock->_call(
'tryToLoadExtLocalconfAndExtTablesOfExtensions', $extension);
223 $extensionCompatibilityTesterMock = $this->getAccessibleMock(\TYPO3\CMS\Install\Controller\Action\Ajax\ExtensionCompatibilityTester::class, array(
'dummy'), array());
224 $extensionCompatibilityTesterMock->_call(
'writeCurrentExtensionToFile',
'demo1');
225 $fileContent = file_get_contents($extensionCompatibilityTesterMock->_get(
'protocolFile'));
226 $this->assertEquals(
'demo1', $fileContent);
234 $extensionCompatibilityTesterMock = $this->getAccessibleMock(\TYPO3\CMS\Install\Controller\Action\Ajax\ExtensionCompatibilityTester::class, array(
'dummy'), array());
235 $returnValue = $extensionCompatibilityTesterMock->_call(
'getExtensionsToExclude');
236 $this->assertInternalType(
'array', $returnValue);
249 'demo1, demo2, demo3',
254 'demo1, demo2, demo3',
259 'demo1, demo2, demo3',
271 $extensionCompatibilityTesterMock = $this->getAccessibleMock(\TYPO3\CMS\Install\Controller\Action\Ajax\ExtensionCompatibilityTester::class, array(
'dummy'), array());
273 $extensionCompatibilityTesterMock->_call(
'removeCurrentExtensionFromFile', $extensionToRemove);
275 $fileContent = file_get_contents($extensionCompatibilityTesterMock->_get(
'protocolFile'));
276 $this->assertEquals($expectedExtensions, $fileContent);