/** * @covers \Magento\Framework\View\Design\Theme\Customization\Path::getThemeFilesPath */ public function testGetThemeFilesPath() { $this->_appState->expects($this->any())->method('getAreaCode')->will($this->returnValue('area51')); $expectedPath = implode('/', ['area51', 'path']); $this->assertEquals($expectedPath, $this->_model->getThemeFilesPath($this->_theme->setThemePath('path'))); $this->assertNull($this->_model->getCustomizationPath($this->_theme->setThemePath(null))); }
/** * Copy customizations stored in a file system from one theme to another, overriding existing data * * @param ThemeInterface $source * @param ThemeInterface $target * @return void */ protected function _copyFilesystemCustomization(ThemeInterface $source, ThemeInterface $target) { $sourcePath = $this->_customizationPath->getCustomizationPath($source); $targetPath = $this->_customizationPath->getCustomizationPath($target); if (!$sourcePath || !$targetPath) { return; } $this->_deleteFilesRecursively($targetPath); if ($this->_directory->isDirectory($sourcePath)) { $this->_copyFilesRecursively($sourcePath, $sourcePath, $targetPath); } }
/** * Returns customization full path * * @param \Magento\Framework\View\Design\Theme\FileInterface $file * @return string */ public function getFullPath(\Magento\Framework\View\Design\Theme\FileInterface $file) { $customizationPath = $this->_customizationPath->getCustomizationPath($file->getTheme()); return $customizationPath . '/' . $file->getData('file_path'); }
/** * Get directory where themes files are stored * * @return null|string */ public function getThemeFilesPath() { return $this->theme->isPhysical() ? $this->customizationPath->getThemeFilesPath($this->theme) : $this->customizationPath->getCustomizationPath($this->theme); }
/** * @covers \Magento\Framework\View\Design\Theme\Customization\Path::getThemeFilesPath */ public function testGetThemeFilesPathNoPath() { $this->_theme->expects($this->any())->method('getFullPath')->will($this->returnValue(null)); $this->componentRegistrar->expects($this->never())->method('getPath'); $this->assertNull($this->_model->getCustomizationPath($this->_theme)); }