Code Coverage
 
Classes and Traits
Functions and Methods
Lines
Total
0.00% covered (danger)
0.00%
0 / 1
66.67% covered (warning)
66.67%
2 / 3
CRAP
86.67% covered (warning)
86.67%
13 / 15
JsCustomRenderer
0.00% covered (danger)
0.00%
0 / 1
66.67% covered (warning)
66.67%
2 / 3
9.19
86.67% covered (warning)
86.67%
13 / 15
 getEngine
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
1 / 1
 setResolver
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
2 / 2
 render
0.00% covered (danger)
0.00%
0 / 1
7.23
83.33% covered (warning)
83.33%
10 / 12
<?php
namespace AssetsBundle\View\Renderer;
class JsCustomRenderer implements \Zend\View\Renderer\RendererInterface {
    /**
     * @var \Zend\View\Resolver\ResolverInterface
     */
    protected $resolver;
    /**
     * @return \AssetsBundle\View\Renderer\JsRenderer
     */
    public function getEngine() {
        return $this;
    }
    /**
     * Set the resolver used to map a template name to a resource the renderer may consume.
     * @param \Zend\View\Resolver\ResolverInterface $oResolver
     * @return \AssetsBundle\View\Renderer\JsRenderer
     */
    public function setResolver(\Zend\View\Resolver\ResolverInterface $oResolver) {
        $this->resolver = $oResolver;
        return $this;
    }
    /**
     * Renders js files contents
     * @param \AssetsBundle\View\Renderer\ViewModel $oViewModel
     * @param null|array|\ArrayAccess $aValues
     * @return string
     * @throws \InvalidArgumentException
     * @throws \LogicException
     */
    public function render($oViewModel, $aValues = null) {
        if (!($oViewModel instanceof \Zend\View\Model\ViewModel)) {
            throw new \InvalidArgumentException(sprintf(
                    'View Model expects an instance of \Zend\View\Model\ViewModel, "%s" given', is_object($oViewModel) ? get_class($oViewModel) : gettype($oViewModel)
            ));
        }
        $aJsFiles = $oViewModel->getVariable('jsCustomFiles');
        if (!is_array($aJsFiles)) {
            throw new \LogicException('JsFiles expects an array "' . gettype($aJsFiles) . '" given');
        }
        $sRetour = '';
        foreach ($aJsFiles as $oJsAssetFile) {
            if ($oJsAssetFile instanceof \AssetsBundle\AssetFile\AssetFile) {
                $sRetour .= $oJsAssetFile->getAssetFileContents() . PHP_EOL;
            } else {
                throw new \LogicException('Js asset file expects an instance of \AssetsBundle\AssetFile\AssetFile, "' . (is_object($oJsAssetFile) ? get_class($oJsAssetFile) : gettype($oJsAssetFile)) . '" given');
            }
        }
        return $sRetour;
    }
}