Initial commit with Symfony 2.1+Vendors
Signed-off-by: Gergely POLONKAI (W00d5t0ck) <polesz@w00d5t0ck.info>
This commit is contained in:
202
vendor/symfony/assetic-bundle/Symfony/Bundle/AsseticBundle/Tests/Command/DumpCommandTest.php
vendored
Normal file
202
vendor/symfony/assetic-bundle/Symfony/Bundle/AsseticBundle/Tests/Command/DumpCommandTest.php
vendored
Normal file
@@ -0,0 +1,202 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony framework.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* This source file is subject to the MIT license that is bundled
|
||||
* with this source code in the file LICENSE.
|
||||
*/
|
||||
|
||||
namespace Symfony\Bundle\AsseticBundle\Tests\Command;
|
||||
|
||||
use Symfony\Bundle\AsseticBundle\Command\DumpCommand;
|
||||
use Symfony\Component\Console\Input\ArrayInput;
|
||||
use Symfony\Component\Console\Input\InputOption;
|
||||
use Symfony\Component\Console\Output\NullOutput;
|
||||
|
||||
class DumpCommandTest extends \PHPUnit_Framework_TestCase
|
||||
{
|
||||
private $writeTo;
|
||||
private $application;
|
||||
private $definition;
|
||||
private $kernel;
|
||||
private $container;
|
||||
private $am;
|
||||
|
||||
protected function setUp()
|
||||
{
|
||||
if (!class_exists('Assetic\\AssetManager')) {
|
||||
$this->markTestSkipped('Assetic is not available.');
|
||||
}
|
||||
|
||||
$this->writeTo = sys_get_temp_dir().'/assetic_dump';
|
||||
|
||||
$this->application = $this->getMockBuilder('Symfony\\Bundle\\FrameworkBundle\\Console\\Application')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
$this->definition = $this->getMockBuilder('Symfony\\Component\\Console\\Input\\InputDefinition')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
$this->kernel = $this->getMock('Symfony\\Component\\HttpKernel\\KernelInterface');
|
||||
$this->helperSet = $this->getMock('Symfony\\Component\\Console\\Helper\\HelperSet');
|
||||
$this->container = $this->getMock('Symfony\\Component\\DependencyInjection\\ContainerInterface');
|
||||
$this->am = $this->getMockBuilder('Assetic\\Factory\\LazyAssetManager')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
||||
$this->application->expects($this->any())
|
||||
->method('getDefinition')
|
||||
->will($this->returnValue($this->definition));
|
||||
$this->definition->expects($this->any())
|
||||
->method('getArguments')
|
||||
->will($this->returnValue(array()));
|
||||
$this->definition->expects($this->any())
|
||||
->method('getOptions')
|
||||
->will($this->returnValue(array(
|
||||
new InputOption('--verbose', '-v', InputOption::VALUE_NONE, 'Increase verbosity of messages.'),
|
||||
new InputOption('--env', '-e', InputOption::VALUE_REQUIRED, 'The Environment name.', 'dev'),
|
||||
new InputOption('--no-debug', null, InputOption::VALUE_NONE, 'Switches off debug mode.'),
|
||||
)));
|
||||
$this->application->expects($this->any())
|
||||
->method('getKernel')
|
||||
->will($this->returnValue($this->kernel));
|
||||
$this->application->expects($this->once())
|
||||
->method('getHelperSet')
|
||||
->will($this->returnValue($this->helperSet));
|
||||
$this->kernel->expects($this->any())
|
||||
->method('getContainer')
|
||||
->will($this->returnValue($this->container));
|
||||
|
||||
$writeTo = $this->writeTo;
|
||||
$this->container->expects($this->any())
|
||||
->method('getParameter')
|
||||
->will($this->returnCallback(function($p) use($writeTo) {
|
||||
if ('assetic.write_to' === $p) {
|
||||
return $writeTo;
|
||||
} else if ('assetic.variables' === $p) {
|
||||
return array();
|
||||
}
|
||||
|
||||
throw new \RuntimeException(sprintf('Unknown parameter "%s".', $p));
|
||||
}));
|
||||
|
||||
$this->container->expects($this->once())
|
||||
->method('get')
|
||||
->with('assetic.asset_manager')
|
||||
->will($this->returnValue($this->am));
|
||||
|
||||
$this->command = new DumpCommand();
|
||||
$this->command->setApplication($this->application);
|
||||
}
|
||||
|
||||
protected function tearDown()
|
||||
{
|
||||
if (is_dir($this->writeTo)) {
|
||||
array_map('unlink', glob($this->writeTo.'/*'));
|
||||
rmdir($this->writeTo);
|
||||
}
|
||||
}
|
||||
|
||||
public function testEmptyAssetManager()
|
||||
{
|
||||
$this->am->expects($this->once())
|
||||
->method('getNames')
|
||||
->will($this->returnValue(array()));
|
||||
|
||||
$this->command->run(new ArrayInput(array()), new NullOutput());
|
||||
}
|
||||
|
||||
public function testDumpOne()
|
||||
{
|
||||
$asset = $this->getMock('Assetic\\Asset\\AssetInterface');
|
||||
|
||||
$this->am->expects($this->once())
|
||||
->method('getNames')
|
||||
->will($this->returnValue(array('test_asset')));
|
||||
$this->am->expects($this->once())
|
||||
->method('get')
|
||||
->with('test_asset')
|
||||
->will($this->returnValue($asset));
|
||||
$this->am->expects($this->once())
|
||||
->method('getFormula')
|
||||
->with('test_asset')
|
||||
->will($this->returnValue(array()));
|
||||
$this->am->expects($this->once())
|
||||
->method('isDebug')
|
||||
->will($this->returnValue(false));
|
||||
$asset->expects($this->once())
|
||||
->method('getTargetPath')
|
||||
->will($this->returnValue('test_asset.css'));
|
||||
$asset->expects($this->once())
|
||||
->method('dump')
|
||||
->will($this->returnValue('/* test_asset */'));
|
||||
$asset->expects($this->any())
|
||||
->method('getVars')
|
||||
->will($this->returnValue(array()));
|
||||
$asset->expects($this->any())
|
||||
->method('getValues')
|
||||
->will($this->returnValue(array()));
|
||||
|
||||
$this->command->run(new ArrayInput(array()), new NullOutput());
|
||||
|
||||
$this->assertFileExists($this->writeTo.'/test_asset.css');
|
||||
$this->assertEquals('/* test_asset */', file_get_contents($this->writeTo.'/test_asset.css'));
|
||||
}
|
||||
|
||||
public function testDumpDebug()
|
||||
{
|
||||
$asset = $this->getMock('Assetic\\Asset\\AssetCollection');
|
||||
$leaf = $this->getMock('Assetic\\Asset\\AssetInterface');
|
||||
|
||||
$this->am->expects($this->once())
|
||||
->method('getNames')
|
||||
->will($this->returnValue(array('test_asset')));
|
||||
$this->am->expects($this->once())
|
||||
->method('get')
|
||||
->with('test_asset')
|
||||
->will($this->returnValue($asset));
|
||||
$this->am->expects($this->once())
|
||||
->method('getFormula')
|
||||
->with('test_asset')
|
||||
->will($this->returnValue(array()));
|
||||
$this->am->expects($this->once())
|
||||
->method('isDebug')
|
||||
->will($this->returnValue(true));
|
||||
$asset->expects($this->once())
|
||||
->method('getTargetPath')
|
||||
->will($this->returnValue('test_asset.css'));
|
||||
$asset->expects($this->once())
|
||||
->method('dump')
|
||||
->will($this->returnValue('/* test_asset */'));
|
||||
$asset->expects($this->once())
|
||||
->method('getIterator')
|
||||
->will($this->returnValue(new \ArrayIterator(array($leaf))));
|
||||
$asset->expects($this->any())
|
||||
->method('getVars')
|
||||
->will($this->returnValue(array()));
|
||||
$asset->expects($this->any())
|
||||
->method('getValues')
|
||||
->will($this->returnValue(array()));
|
||||
$leaf->expects($this->once())
|
||||
->method('getTargetPath')
|
||||
->will($this->returnValue('test_leaf.css'));
|
||||
$leaf->expects($this->once())
|
||||
->method('dump')
|
||||
->will($this->returnValue('/* test_leaf */'));
|
||||
$leaf->expects($this->any())
|
||||
->method('getVars')
|
||||
->will($this->returnValue(array()));
|
||||
$leaf->expects($this->any())
|
||||
->method('getValues')
|
||||
->will($this->returnValue(array()));
|
||||
|
||||
$this->command->run(new ArrayInput(array()), new NullOutput());
|
||||
|
||||
$this->assertFileExists($this->writeTo.'/test_asset.css');
|
||||
$this->assertFileExists($this->writeTo.'/test_leaf.css');
|
||||
$this->assertEquals('/* test_asset */', file_get_contents($this->writeTo.'/test_asset.css'));
|
||||
$this->assertEquals('/* test_leaf */', file_get_contents($this->writeTo.'/test_leaf.css'));
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user