/** * Get and resolve dependencies * * @param \TYPO3\CMS\Extensionmanager\Domain\Model\Extension $extension * @return array */ public function getAndResolveDependencies(\TYPO3\CMS\Extensionmanager\Domain\Model\Extension $extension) { $this->dependencyUtility->buildExtensionDependenciesTree($extension); $installQueue = $this->downloadQueue->getExtensionInstallStorage(); if (is_array($installQueue) && count($installQueue) > 0) { $installQueue = array('install' => $installQueue); } return array_merge($this->downloadQueue->getExtensionQueue(), $installQueue); }
/** * Get and resolve dependencies * * @param Extension $extension * @return array */ public function getAndResolveDependencies(Extension $extension) { $this->dependencyUtility->setSkipDependencyCheck($this->skipDependencyCheck); $this->dependencyUtility->checkDependencies($extension); $installQueue = $this->downloadQueue->getExtensionInstallStorage(); if (is_array($installQueue) && !empty($installQueue)) { $installQueue = array('install' => $installQueue); } return array_merge($this->downloadQueue->getExtensionQueue(), $installQueue); }
/** * @test * @return void */ public function removeExtensionFromQueueRemovesExtension() { $extensionMock2 = $this->getAccessibleMock(\TYPO3\CMS\Extensionmanager\Domain\Model\Extension::class, array('dummy')); $extensionMock2->_set('extensionKey', 'foobarbaz'); $extensionMock2->_set('version', '1.0.3'); $this->downloadQueueMock->_set('extensionStorage', array('download' => array('foobar' => $this->extensionMock, 'foobarbaz' => $extensionMock2))); $extensionStorageBefore = $this->downloadQueueMock->_get('extensionStorage'); $this->assertTrue(array_key_exists('foobar', $extensionStorageBefore['download'])); $this->downloadQueueMock->removeExtensionFromQueue($this->extensionMock); $extensionStorageAfter = $this->downloadQueueMock->_get('extensionStorage'); $this->assertFalse(array_key_exists('foobar', $extensionStorageAfter['download'])); }