/** * @param Theme $theme * @return array */ protected function collectThemeAssets(Theme $theme) { $formulae = []; $assets = $theme->getDataByKey('assets', []); foreach ($assets as $assetKey => $asset) { $name = self::RESOURCE_ALIAS . '_' . $theme->getName() . '_' . $assetKey; $formulae[$name] = [$asset['inputs'], $asset['filters'], ['output' => $asset['output'], 'name' => $name]]; } return $formulae; }
/** * @param Theme $theme * @return array */ protected function collectThemeAssets(Theme $theme) { $assets = $theme->getDataByKey('assets', []); $parentTheme = $theme->getParentTheme(); if ($parentTheme) { $parentTheme = $this->themeManager->getTheme($parentTheme); $assets = array_merge_recursive($this->collectThemeAssets($parentTheme), $assets); } return $assets; }
/** * @return array */ public function themeDefinitionDataProvider() { $minimalDefinition = new Theme('base'); $fullDefinition = new Theme('oro-black', 'base'); $fullDefinition->setIcon('oro-black-icon.ico'); $fullDefinition->setLogo('oro-black-logo.png'); $fullDefinition->setScreenshot('oro-black-screenshot.png'); $fullDefinition->setLabel('Oro Black Theme'); $fullDefinition->setDirectory('OroBlack'); $fullDefinition->setGroups(['main', 'frontend']); $fullDefinition->setDescription('description'); $fullDefinition->setData(['key' => 'value']); return ['minimal definition given' => ['$name' => 'base', '$definition' => [], '$expectedResult' => $minimalDefinition], 'full definition given' => ['$name' => 'oro-black', '$definition' => ['parent' => 'base', 'groups' => ['main', 'frontend'], 'label' => 'Oro Black Theme', 'screenshot' => 'oro-black-screenshot.png', 'icon' => 'oro-black-icon.ico', 'logo' => 'oro-black-logo.png', 'directory' => 'OroBlack', 'description' => 'description', 'data' => ['key' => 'value']], '$expectedResult' => $fullDefinition]]; }
public function testDataMethods() { $data = ['key' => 'value']; $this->assertEquals([], $this->theme->getData()); $this->theme->setData($data); $this->assertEquals($data, $this->theme->getData()); $this->assertEquals($data['key'], $this->theme->getDataByKey('key')); $this->assertEquals('default value', $this->theme->getDataByKey('unknown key', 'default value')); $this->theme->setDataByKey('unknown key', 'unknown value'); $this->assertEquals('unknown value', $this->theme->getDataByKey('unknown key', 'default value')); }
public function testParentThemeMethods() { $this->assertNull($this->theme->getParentTheme()); $this->theme->setParentTheme('base'); $this->assertEquals('base', $this->theme->getParentTheme()); }
public function testDescriptionMethods() { $this->assertNull($this->theme->getDescription()); $this->theme->setDescription('test'); $this->assertEquals('test', $this->theme->getDescription()); }