Skip to content
Extraits de code Groupes Projets
PluginMock.php 2,66 ko
Newer Older
  • Learn to ignore specific revisions
  • Julien Moumné's avatar
    Julien Moumné a validé
    <?php
    /**
    
     * Piwik - free/libre analytics platform
    
    Julien Moumné's avatar
    Julien Moumné a validé
     *
     * @link http://piwik.org
     * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
     */
    
    
    namespace Piwik\Tests\Unit\AssetManager;
    
    
    Julien Moumné's avatar
    Julien Moumné a validé
    use Piwik\Plugin;
    
    class PluginMock extends Plugin
    {
        /**
         * @var string[]
         */
        private $jsFiles = array();
    
        /**
         * @var string[]
         */
        private $stylesheetFiles = array();
    
        /**
         * @var string
         */
        private $jsCustomization = '';
    
        /**
         * @var string
         */
        private $cssCustomization = '';
    
        /**
         * @var boolean
         */
        private $isTheme = false;
    
        /**
         * @param string $name
         */
        function __construct($name)
        {
            $this->pluginName = $name;
        }
    
    
    Julien Moumné's avatar
    Julien Moumné a validé
        {
            return array(
                'AssetManager.getJavaScriptFiles' => 'getJsFiles',
                'AssetManager.getStylesheetFiles' => 'getStylesheetFiles',
                'AssetManager.filterMergedJavaScripts' => 'filterMergedJavaScriptsHook',
                'AssetManager.filterMergedStylesheets' => 'filterMergedStylesheetsHook',
            );
        }
    
        /**
         * @param string[] $jsFiles
         */
        public function getJsFiles(&$jsFiles)
        {
            $jsFiles = array_merge($jsFiles, $this->jsFiles);
        }
    
        /**
         * @param string[] $stylesheetFiles
         */
        public function getStylesheetFiles(&$stylesheetFiles)
        {
            $stylesheetFiles = array_merge($stylesheetFiles, $this->stylesheetFiles);
        }
    
        /**
         * @param string $mergedContent
         */
        public function filterMergedJavaScriptsHook(&$mergedContent)
        {
            $mergedContent .= $this->jsCustomization;
        }
    
        /**
         * @param string $mergedContent
         */
        public function filterMergedStylesheetsHook(&$mergedContent)
        {
            $mergedContent .= $this->cssCustomization;
        }
    
        /**
         * @param string $cssCustomization
         */
        public function setCssCustomization($cssCustomization)
        {
            $this->cssCustomization = $cssCustomization;
        }
    
        /**
         * @param string $jsCustomization
         */
        public function setJsCustomization($jsCustomization)
        {
            $this->jsCustomization = $jsCustomization;
        }
    
        /**
         * @param string[] $jsFiles
         */
        public function setJsFiles($jsFiles)
        {
            $this->jsFiles = $jsFiles;
        }
    
        /**
         * @param string[] $stylesheetFiles
         */
        public function setStylesheetFiles($stylesheetFiles)
        {
            $this->stylesheetFiles = $stylesheetFiles;
        }
    
        /**
         * @param boolean $isTheme
         */
        public function setIsTheme($isTheme)
        {
            $this->isTheme = $isTheme;
        }
    
        public function isTheme()
        {
            return $this->isTheme;
        }
    }