Exemple #1
0
 /**
  * Setup tests
  * @return void
  */
 public function setup()
 {
     $this->fileListFactoryMock = $this->getMockBuilder('Magento\\Framework\\View\\File\\FileList\\Factory')->disableOriginalConstructor()->getMock();
     $this->fileListMock = $this->getMockBuilder('Magento\\Framework\\View\\File\\FileList')->disableOriginalConstructor()->getMock();
     $this->fileListFactoryMock->expects($this->any())->method('create')->will($this->returnValue($this->fileListMock));
     $this->libraryFilesMock = $this->getMockBuilder('Magento\\Framework\\View\\File\\CollectorInterface')->getMock();
     $this->baseFilesMock = $this->getMockBuilder('Magento\\Framework\\View\\File\\CollectorInterface')->getMock();
     $this->overriddenBaseFilesMock = $this->getMockBuilder('Magento\\Framework\\View\\File\\CollectorInterface')->getMock();
     $this->themeMock = $this->getMockBuilder('\\Magento\\Framework\\View\\Design\\ThemeInterface')->getMock();
 }
 /**
  * Retrieve files
  *
  * Aggregate layout files from modules and a theme and its ancestors
  *
  * @param ThemeInterface $theme
  * @param string $filePath
  * @return \Magento\Framework\View\File[]
  */
 public function getFiles(ThemeInterface $theme, $filePath)
 {
     $list = $this->fileListFactory->create();
     $list->add($this->baseFiles->getFiles($theme, $filePath));
     foreach ($theme->getInheritedThemes() as $currentTheme) {
         $list->add($this->themeFiles->getFiles($currentTheme, $filePath));
         $list->replace($this->overrideBaseFiles->getFiles($currentTheme, $filePath));
         $list->replace($this->overrideThemeFiles->getFiles($currentTheme, $filePath));
     }
     return $list->getAll();
 }
Exemple #3
0
 /**
  * Setup tests
  * @return void
  */
 public function setup()
 {
     $this->fileListFactoryMock = $this->getMockBuilder('Magento\\Framework\\View\\File\\FileList\\Factory')->disableOriginalConstructor()->getMock();
     $this->fileListMock = $this->getMockBuilder('Magento\\Framework\\View\\File\\FileList')->disableOriginalConstructor()->getMock();
     $this->fileListFactoryMock->expects($this->any())->method('create')->will($this->returnValue($this->fileListMock));
     $this->fileSystemMock = $this->getMockBuilder('Magento\\Framework\\App\\Filesystem')->disableOriginalConstructor()->getMock();
     $this->libraryDirectoryMock = $this->getMockBuilder('Magento\\Framework\\Filesystem\\Directory\\ReadInterface')->getMock();
     $this->themesDirectoryMock = $this->getMockBuilder('Magento\\Framework\\Filesystem\\Directory\\ReadInterface')->getMock();
     $this->fileSystemMock->expects($this->any())->method('getDirectoryRead')->will($this->returnValueMap([[Filesystem::LIB_WEB, $this->libraryDirectoryMock], [Filesystem::THEMES_DIR, $this->themesDirectoryMock]]));
     $this->fileFactoryMock = $this->getMockBuilder('Magento\\Framework\\View\\File\\Factory')->disableOriginalConstructor()->getMock();
     $this->themeMock = $this->getMockBuilder('\\Magento\\Framework\\View\\Design\\ThemeInterface')->getMock();
 }
Exemple #4
0
 /**
  * Retrieve files
  *
  * @param ThemeInterface $theme
  * @param string $filePath
  * @return array|\Magento\Framework\View\File[]
  */
 public function getFiles(ThemeInterface $theme, $filePath)
 {
     $list = $this->fileListFactory->create();
     $files = $this->libraryDirectory->search($filePath);
     $list->add($this->createFiles($this->libraryDirectory, $theme, $files));
     foreach ($theme->getInheritedThemes() as $currentTheme) {
         $themeFullPath = $currentTheme->getFullPath();
         $files = $this->themesDirectory->search("{$themeFullPath}/web/{$filePath}");
         $list->replace($this->createFiles($this->themesDirectory, $theme, $files), false);
     }
     return $list->getAll();
 }
 /**
  * Retrieve files
  *
  * @param ThemeInterface $theme
  * @param string $filePath
  * @return array|\Magento\Framework\View\File[]
  */
 public function getFiles(ThemeInterface $theme, $filePath)
 {
     $list = $this->fileListFactory->create('Magento\\Framework\\Less\\File\\FileList\\Collator');
     $files = $this->libraryDirectory->search($filePath);
     $list->add($this->createFiles($this->libraryDirectory, $theme, $files));
     foreach ($theme->getInheritedThemes() as $currentTheme) {
         $themeFullPath = $currentTheme->getFullPath();
         $files = $this->rootDirectory->search("web/{$filePath}", $this->themeDir->getPathByKey($themeFullPath));
         //$files = $this->themesDirectory->search("{$themeFullPath}/web/{$filePath}");
         $list->replace($this->createFiles($this->themesDirectory, $theme, $files), false);
     }
     return $list->getAll();
 }
 /**
  * Setup tests
  * @return void
  */
 public function setup()
 {
     $this->fileListFactoryMock = $this->getMockBuilder('Magento\\Framework\\View\\File\\FileList\\Factory')->disableOriginalConstructor()->getMock();
     $this->fileListMock = $this->getMockBuilder('Magento\\Framework\\View\\File\\FileList')->disableOriginalConstructor()->getMock();
     $this->fileListFactoryMock->expects($this->any())->method('create')->with('Magento\\Framework\\Css\\PreProcessor\\File\\FileList\\Collator')->will($this->returnValue($this->fileListMock));
     $this->readFactoryMock = $this->getMockBuilder('Magento\\Framework\\Filesystem\\Directory\\ReadFactory')->disableOriginalConstructor()->getMock();
     $this->componentRegistrarMock = $this->getMockBuilder('Magento\\Framework\\Component\\ComponentRegistrarInterface')->disableOriginalConstructor()->getMock();
     $this->fileSystemMock = $this->getMockBuilder('Magento\\Framework\\Filesystem')->disableOriginalConstructor()->getMock();
     $this->libraryDirectoryMock = $this->getMockBuilder('Magento\\Framework\\Filesystem\\Directory\\ReadInterface')->getMock();
     $this->fileSystemMock->expects($this->any())->method('getDirectoryRead')->will($this->returnValueMap([[DirectoryList::LIB_WEB, Filesystem\DriverPool::FILE, $this->libraryDirectoryMock]]));
     $this->fileFactoryMock = $this->getMockBuilder('Magento\\Framework\\View\\File\\Factory')->disableOriginalConstructor()->getMock();
     $this->themeMock = $this->getMockBuilder('\\Magento\\Framework\\View\\Design\\ThemeInterface')->getMock();
     $this->library = new Library($this->fileListFactoryMock, $this->fileSystemMock, $this->fileFactoryMock, $this->readFactoryMock, $this->componentRegistrarMock);
 }
 /**
  * Retrieve files
  *
  * Aggregate source files from modules and a theme and its ancestors
  *
  * @param \Magento\Framework\View\Design\ThemeInterface $theme
  * @param string $filePath
  * @return \Magento\Framework\View\File[]
  * @throws \LogicException
  */
 public function getFiles(ThemeInterface $theme, $filePath)
 {
     $list = $this->fileListFactory->create('Magento\\Framework\\Css\\PreProcessor\\File\\FileList\\Collator');
     $list->add($this->libraryFiles->getFiles($theme, $filePath));
     $list->add($this->baseFiles->getFiles($theme, $filePath));
     foreach ($theme->getInheritedThemes() as $currentTheme) {
         $files = $this->overriddenBaseFiles->getFiles($currentTheme, $filePath);
         $list->replace($files);
     }
     $result = $list->getAll();
     if (empty($result)) {
         $this->logger->notice('magento_import returns empty result by path ' . $filePath . ' for theme ' . $theme->getCode());
     }
     return $result;
 }
Exemple #8
0
 /**
  * Retrieve files
  *
  * @param ThemeInterface $theme
  * @param string $filePath
  * @return \Magento\Framework\View\File[]
  */
 public function getFiles(ThemeInterface $theme, $filePath)
 {
     $list = $this->fileListFactory->create('Magento\\Framework\\Css\\PreProcessor\\File\\FileList\\Collator');
     $files = $this->libraryDirectory->search($filePath);
     $list->add($this->createFiles($this->libraryDirectory, $theme, $files));
     foreach ($theme->getInheritedThemes() as $currentTheme) {
         $themeFullPath = $currentTheme->getFullPath();
         $path = $this->componentRegistrar->getPath(ComponentRegistrar::THEME, $themeFullPath);
         if (empty($path)) {
             continue;
         }
         $directoryRead = $this->readFactory->create($path);
         $foundFiles = $directoryRead->search("web/{$filePath}");
         $list->replace($this->createFiles($directoryRead, $theme, $foundFiles));
     }
     return $list->getAll();
 }
Exemple #9
0
 /**
  * @expectedException \UnexpectedValueException
  * @expectedExceptionMessage Magento\Framework\View\File\FileList\Collator has to implement the collate interface.
  */
 public function testCreateException()
 {
     $collator = new \stdClass();
     $this->objectManager->expects($this->once())->method('get')->with($this->equalTo(\Magento\Framework\View\File\FileList\Factory::FILE_LIST_COLLATOR))->will($this->returnValue($collator));
     $this->model->create();
 }