Code Coverage
 
Classes and Traits
Functions and Methods
Lines
Total
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 2
CRAP
0.00% covered (danger)
0.00%
0 / 16
LesscAssetFileFilter
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 2
20.00
0.00% covered (danger)
0.00%
0 / 16
 filterContent
0.00% covered (danger)
0.00%
0 / 1
2.00
0.00% covered (danger)
0.00%
0 / 3
 getEngine
0.00% covered (danger)
0.00%
0 / 1
12.00
0.00% covered (danger)
0.00%
0 / 13
<?php
namespace AssetsBundle\AssetFile\AssetFileFilter\StyleAssetFileFilter;
class LesscAssetFileFilter extends \AssetsBundle\AssetFile\AssetFileFilter\AbstractAssetFileFilter
{
    /**
     * @var string
     */
    protected $assetFileFilterName = 'Lessc';
    /**
     * Filter engine
     * @var \lessc
     */
    protected $engine;
    
    /**
     * @param string $sContent
     * @param string $sFilePath
     * @return string
     */
    protected function filterContent(string $sContent, string $sFilePath) : string
    {
        return $this->getEngine()->compile($sContent);
    }
    
    /**
     * @return \lessc
     */
    protected function getEngine() : \lessc
    {
        $sClassName = '\\lessc';
        if (!class_exists($sClassName)) {
            throw new \LogicException('"'. $sClassName. '" class does not exist');
        }
        if (is_a($this->engine, $sClassName)) {
            return $this->engine;
        }
        
        $oEngine = new $sClassName();
        $oEngine->addImportDir(getcwd());
        $oEngine->setAllowUrlRewrite(true);
        return $this->engine = $oEngine;
    }
}