/**
  * 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']));
 }