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')); }
/** * @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; }