/** * Download dependencies * expects an array of extension objects to download * * @param Extension[] $downloadQueue * @return array */ protected function downloadDependencies(array $downloadQueue) { $resolvedDependencies = array(); foreach ($downloadQueue as $extensionToDownload) { $this->downloadUtility->download($extensionToDownload); $this->downloadQueue->removeExtensionFromQueue($extensionToDownload); $resolvedDependencies['downloaded'][$extensionToDownload->getExtensionKey()] = $extensionToDownload; $this->markExtensionForInstallation($extensionToDownload->getExtensionKey()); } return $resolvedDependencies; }
/** * @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'])); }