Code Coverage
 
Classes and Traits
Functions and Methods
Lines
Total
0.00% covered (danger)
0.00%
0 / 1
50.00% covered (danger)
50.00%
1 / 2
CRAP
85.71% covered (warning)
85.71%
6 / 7
CssAssetFileFilter
0.00% covered (danger)
0.00%
0 / 1
50.00% covered (danger)
50.00%
1 / 2
4.05
85.71% covered (warning)
85.71%
6 / 7
 filterContent
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
1 / 1
 getEngine
0.00% covered (danger)
0.00%
0 / 1
3.04
83.33% covered (warning)
83.33%
5 / 6
<?php
namespace AssetsBundle\AssetFile\AssetFileFilter\StyleAssetFileFilter;
class CssAssetFileFilter extends \AssetsBundle\AssetFile\AssetFileFilter\AbstractAssetFileFilter
{
    /**
     * @var string
     */
    protected $assetFileFilterName = \AssetsBundle\AssetFile\AssetFile::ASSET_CSS;
    /**
     * @var \tubalmartin\CssMin\Minifier
     */
    protected $engine;
    /**
     * @param string $sContent
     * @param string $sFilePath
     * @return string
     */
    protected function filterContent(string $sContent, string $sFilePath) : string
    {
        return $this->getEngine()->run($sContent);
    }
    /**
     * @return \tubalmartin\CssMin\Minifier
     * @throws \LogicException
     */
    protected function getEngine() : \tubalmartin\CssMin\Minifier
    {
        $sClassName = '\\tubalmartin\\CssMin\\Minifier';
        if (!class_exists($sClassName)) {
            throw new \LogicException('"'. $sClassName. '" class does not exist');
        }
        if (is_a($this->engine, $sClassName)) {
            return $this->engine;
        }
       
        return $this->engine = new $sClassName();
    }
}