082a0130c2
Signed-off-by: Gergely POLONKAI (W00d5t0ck) <polesz@w00d5t0ck.info>
127 lines
3.6 KiB
PHP
127 lines
3.6 KiB
PHP
<?php
|
|
|
|
/*
|
|
* This file is part of the Assetic package, an OpenSky project.
|
|
*
|
|
* (c) 2010-2012 OpenSky Project Inc
|
|
*
|
|
* For the full copyright and license information, please view the LICENSE
|
|
* file that was distributed with this source code.
|
|
*/
|
|
|
|
namespace Assetic\Test\Asset;
|
|
|
|
use Assetic\Asset\AssetReference;
|
|
|
|
class AssetReferenceTest extends \PHPUnit_Framework_TestCase
|
|
{
|
|
private $am;
|
|
private $ref;
|
|
|
|
protected function setUp()
|
|
{
|
|
$this->am = $this->getMock('Assetic\\AssetManager');
|
|
$this->ref = new AssetReference($this->am, 'foo');
|
|
}
|
|
|
|
/**
|
|
* @dataProvider getMethodAndRetVal
|
|
*/
|
|
public function testMethods($method, $returnValue)
|
|
{
|
|
$asset = $this->getMock('Assetic\\Asset\\AssetInterface');
|
|
|
|
$this->am->expects($this->once())
|
|
->method('get')
|
|
->with('foo')
|
|
->will($this->returnValue($asset));
|
|
$asset->expects($this->once())
|
|
->method($method)
|
|
->will($this->returnValue($returnValue));
|
|
|
|
$this->assertEquals($returnValue, $this->ref->$method(), '->'.$method.'() returns the asset value');
|
|
}
|
|
|
|
public function getMethodAndRetVal()
|
|
{
|
|
return array(
|
|
array('getContent', 'asdf'),
|
|
array('getSourceRoot', 'asdf'),
|
|
array('getSourcePath', 'asdf'),
|
|
array('getTargetPath', 'asdf'),
|
|
array('getLastModified', 123),
|
|
);
|
|
}
|
|
|
|
public function testLazyFilters()
|
|
{
|
|
$this->am->expects($this->never())->method('get');
|
|
$this->ref->ensureFilter($this->getMock('Assetic\\Filter\\FilterInterface'));
|
|
}
|
|
|
|
public function testFilterFlush()
|
|
{
|
|
$asset = $this->getMock('Assetic\\Asset\\AssetInterface');
|
|
|
|
$this->am->expects($this->exactly(2))
|
|
->method('get')
|
|
->with('foo')
|
|
->will($this->returnValue($asset));
|
|
$asset->expects($this->once())->method('ensureFilter');
|
|
$asset->expects($this->once())
|
|
->method('getFilters')
|
|
->will($this->returnValue(array()));
|
|
|
|
$this->ref->ensureFilter($this->getMock('Assetic\\Filter\\FilterInterface'));
|
|
|
|
$this->assertInternalType('array', $this->ref->getFilters(), '->getFilters() flushes and returns filters');
|
|
}
|
|
|
|
public function testSetContent()
|
|
{
|
|
$asset = $this->getMock('Assetic\\Asset\\AssetInterface');
|
|
|
|
$this->am->expects($this->once())
|
|
->method('get')
|
|
->with('foo')
|
|
->will($this->returnValue($asset));
|
|
$asset->expects($this->once())
|
|
->method('setContent')
|
|
->with('asdf');
|
|
|
|
$this->ref->setContent('asdf');
|
|
}
|
|
|
|
public function testLoad()
|
|
{
|
|
$filter = $this->getMock('Assetic\\Filter\\FilterInterface');
|
|
$asset = $this->getMock('Assetic\\Asset\\AssetInterface');
|
|
|
|
$this->am->expects($this->exactly(2))
|
|
->method('get')
|
|
->with('foo')
|
|
->will($this->returnValue($asset));
|
|
$asset->expects($this->once())
|
|
->method('load')
|
|
->with($filter);
|
|
|
|
$this->ref->load($filter);
|
|
}
|
|
|
|
public function testDump()
|
|
{
|
|
$filter = $this->getMock('Assetic\\Filter\\FilterInterface');
|
|
$asset = $this->getMock('Assetic\\Asset\\AssetInterface');
|
|
|
|
$this->am->expects($this->exactly(2))
|
|
->method('get')
|
|
->with('foo')
|
|
->will($this->returnValue($asset));
|
|
$asset->expects($this->once())
|
|
->method('dump')
|
|
->with($filter);
|
|
|
|
$this->ref->dump($filter);
|
|
}
|
|
}
|