예제 #1
0
 /**
  *
  * @dataProvider getFilesDataProvider
  *
  * @param $libraryFiles array Files in lib directory
  * @param $baseFiles array Files in base directory
  * @param $themeFiles array Files in theme
  * *
  * @return void
  */
 public function testGetFiles($libraryFiles, $baseFiles, $themeFiles)
 {
     $this->fileListMock->expects($this->at(0))->method('add')->with($this->equalTo($libraryFiles));
     $this->fileListMock->expects($this->at(1))->method('add')->with($this->equalTo($baseFiles));
     $this->fileListMock->expects($this->any())->method('getAll')->will($this->returnValue(['returnedFile']));
     $subPath = '*';
     $this->libraryFilesMock->expects($this->atLeastOnce())->method('getFiles')->with($this->themeMock, $subPath)->will($this->returnValue($libraryFiles));
     $this->baseFilesMock->expects($this->atLeastOnce())->method('getFiles')->with($this->themeMock, $subPath)->will($this->returnValue($baseFiles));
     $this->overriddenBaseFilesMock->expects($this->any())->method('getFiles')->will($this->returnValue($themeFiles));
     $aggregated = new Aggregated($this->fileListFactoryMock, $this->libraryFilesMock, $this->baseFilesMock, $this->overriddenBaseFilesMock, $this->loggerMock);
     $inheritedThemeMock = $this->getMockBuilder('\\Magento\\Framework\\View\\Design\\ThemeInterface')->getMock();
     $this->themeMock->expects($this->any())->method('getInheritedThemes')->will($this->returnValue([$inheritedThemeMock]));
     $this->assertEquals(['returnedFile'], $aggregated->getFiles($this->themeMock, $subPath));
 }
예제 #2
0
 /**
  *
  * @dataProvider getFilesDataProvider
  *
  * @param $libraryFiles array Files in lib directory
  * @param $themeFiles array Files in theme
  * *
  * @return void
  */
 public function testGetFiles($libraryFiles, $themeFiles)
 {
     $this->fileListMock->expects($this->any())->method('getAll')->will($this->returnValue(['returnedFile']));
     $this->libraryDirectoryMock->expects($this->any())->method('search')->will($this->returnValue($libraryFiles));
     $this->libraryDirectoryMock->expects($this->any())->method('getAbsolutePath')->will($this->returnCallback(function ($file) {
         return '/opt/Magento/lib/' . $file;
     }));
     $themePath = '/var/Magento/ATheme';
     $subPath = '*';
     $this->themesDirectoryMock->expects($this->any())->method('search')->with($themePath . '/web/' . $subPath)->will($this->returnValue($themeFiles));
     $library = new Library($this->fileListFactoryMock, $this->fileSystemMock, $this->fileFactoryMock);
     $inheritedThemeMock = $this->getMockBuilder('\\Magento\\Framework\\View\\Design\\ThemeInterface')->getMock();
     $inheritedThemeMock->expects($this->any())->method('getFullPath')->will($this->returnValue($themePath));
     $this->themeMock->expects($this->any())->method('getInheritedThemes')->will($this->returnValue([$inheritedThemeMock]));
     $this->assertEquals(['returnedFile'], $library->getFiles($this->themeMock, $subPath));
 }
예제 #3
0
 public function testReplace()
 {
     $files = ['1'];
     $result = ['3'];
     $this->collator->expects($this->once())->method('collate')->with($this->equalTo($files), $this->equalTo([$this->_baseFile->getFileIdentifier() => $this->_baseFile, $this->_themeFile->getFileIdentifier() => $this->_themeFile]))->will($this->returnValue($result));
     $this->assertNull($this->_model->replace($files));
     $this->assertSame($result, $this->_model->getAll());
 }
예제 #4
0
 /**
  *
  * @dataProvider getFilesDataProvider
  *
  * @param $libraryFiles array Files in lib directory
  * @param $themeFiles array Files in theme
  * *
  * @return void
  */
 public function testGetFiles($libraryFiles, $themeFiles)
 {
     $this->fileListMock->expects($this->any())->method('getAll')->will($this->returnValue(['returnedFile']));
     $this->libraryDirectoryMock->expects($this->any())->method('search')->will($this->returnValue($libraryFiles));
     $this->libraryDirectoryMock->expects($this->any())->method('getAbsolutePath')->will($this->returnCallback(function ($file) {
         return '/opt/Magento/lib/' . $file;
     }));
     $themePath = '/var/Magento/ATheme';
     $subPath = '*';
     $readerMock = $this->getMockBuilder('Magento\\Framework\\Filesystem\\Directory\\ReadInterface')->getMock();
     $this->readFactoryMock->expects($this->once())->method('create')->will($this->returnValue($readerMock));
     $this->componentRegistrarMock->expects($this->once())->method('getPath')->with(ComponentRegistrar::THEME, $themePath)->will($this->returnValue(['/path/to/theme']));
     $readerMock->expects($this->once())->method('search')->will($this->returnValue($themeFiles));
     $inheritedThemeMock = $this->getMockBuilder('\\Magento\\Framework\\View\\Design\\ThemeInterface')->getMock();
     $inheritedThemeMock->expects($this->any())->method('getFullPath')->will($this->returnValue($themePath));
     $this->themeMock->expects($this->any())->method('getInheritedThemes')->will($this->returnValue([$inheritedThemeMock]));
     $this->assertEquals(['returnedFile'], $this->library->getFiles($this->themeMock, $subPath));
 }