2010-03-18 07:48:03 +00:00
< ? php
/*
* This file is part of the symfony package .
* ( c ) Fabien Potencier < fabien . potencier @ symfony - project . com >
2010-04-07 02:07:59 +01:00
*
2010-03-18 07:48:03 +00:00
* For the full copyright and license information , please view the LICENSE
* file that was distributed with this source code .
*/
namespace Symfony\Tests\Components\DependencyInjection\Dumper ;
use Symfony\Components\DependencyInjection\Builder ;
use Symfony\Components\DependencyInjection\Dumper\YamlDumper ;
class YamlDumperTest extends \PHPUnit_Framework_TestCase
{
static protected $fixturesPath ;
static public function setUpBeforeClass ()
{
self :: $fixturesPath = realpath ( __DIR__ . '/../../../../../fixtures/Symfony/Components/DependencyInjection/' );
}
public function testDump ()
{
$dumper = new YamlDumper ( $container = new Builder ());
2010-03-19 14:04:37 +00:00
$this -> assertEquals ( file_get_contents ( self :: $fixturesPath . '/yaml/services1.yml' ), $dumper -> dump (), '->dump() dumps an empty container as an empty YAML file' );
2010-03-18 07:48:03 +00:00
$container = new Builder ();
$dumper = new YamlDumper ( $container );
}
public function testAddParameters ()
{
$container = include self :: $fixturesPath . '/containers/container8.php' ;
$dumper = new YamlDumper ( $container );
2010-03-19 14:04:37 +00:00
$this -> assertEquals ( file_get_contents ( self :: $fixturesPath . '/yaml/services8.yml' ), $dumper -> dump (), '->dump() dumps parameters' );
2010-03-18 07:48:03 +00:00
}
public function testAddService ()
{
$container = include self :: $fixturesPath . '/containers/container9.php' ;
$dumper = new YamlDumper ( $container );
2010-03-19 14:04:37 +00:00
$this -> assertEquals ( str_replace ( '%path%' , self :: $fixturesPath . '/includes' , file_get_contents ( self :: $fixturesPath . '/yaml/services9.yml' )), $dumper -> dump (), '->dump() dumps services' );
2010-03-18 07:48:03 +00:00
$dumper = new YamlDumper ( $container = new Builder ());
$container -> register ( 'foo' , 'FooClass' ) -> addArgument ( new \stdClass ());
try
{
$dumper -> dump ();
$this -> fail ( '->dump() throws a RuntimeException if the container to be dumped has reference to objects or resources' );
}
catch ( \RuntimeException $e )
{
}
}
}