AssetManager\Resolver\ConcatResolver::resolve PHP Method

resolve() public method

{@inheritDoc}
public resolve ( $name )
    public function resolve($name)
    {
        if (!isset($this->concats[$name])) {
            return null;
        }
        $resolvedAssets = array();
        foreach ((array) $this->concats[$name] as $assetName) {
            $resolvedAsset = $this->getAggregateResolver()->resolve((string) $assetName);
            if (!$resolvedAsset instanceof AssetInterface) {
                throw new Exception\RuntimeException(sprintf('Asset "%s" from collection "%s" can\'t be resolved ' . 'to an Asset implementing Assetic\\Asset\\AssetInterface.', $assetName, $name));
            }
            $resolvedAsset->mimetype = $this->getMimeResolver()->getMimeType($resolvedAsset->getSourceRoot() . $resolvedAsset->getSourcePath());
            $this->getAssetFilterManager()->setFilters($assetName, $resolvedAsset);
            $resolvedAssets[] = $resolvedAsset;
        }
        $aggregateAsset = new AggregateAsset($resolvedAssets);
        $this->getAssetFilterManager()->setFilters($name, $aggregateAsset);
        $aggregateAsset->setTargetPath($name);
        return $aggregateAsset;
    }

Usage Example

 public function testResolveAssetSuccess()
 {
     $resolver = new ConcatResolver();
     $asset1 = array('bacon' => array(__FILE__, __FILE__));
     $callback = function ($file) {
         $asset = new \Assetic\Asset\FileAsset($file);
         return $asset;
     };
     $aggregateResolver = $this->getMock('AssetManager\\Resolver\\ResolverInterface');
     $aggregateResolver->expects($this->exactly(2))->method('resolve')->will($this->returnCallback($callback));
     $resolver->setAggregateResolver($aggregateResolver);
     $assetFilterManager = new \AssetManager\Service\AssetFilterManager();
     $mimeResolver = new MimeResolver();
     $assetFilterManager->setMimeResolver($mimeResolver);
     $resolver->setMimeResolver($mimeResolver);
     $resolver->setAssetFilterManager($assetFilterManager);
     $resolver->setConcats($asset1);
     $asset = $resolver->resolve('bacon');
     $this->assertTrue($asset instanceof \AssetManager\Asset\AggregateAsset);
     $this->assertEquals($asset->dump(), file_get_contents(__FILE__) . file_get_contents(__FILE__));
 }