Exemple #1
0
 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'));
 }
Exemple #2
0
 /**
  * @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;
 }
Exemple #3
0
 /**
  * @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;
 }