<?php
/**
* Test: NetteDIContainer expand.
*
* @author David Grudl
* @package NetteDI
* @subpackage UnitTests
*/
use NetteDIContainer;
require __DIR__ . '/../bootstrap.php';
$container =
new Container
(array(
'appDir' => '/myApp',
'dirs' =>
array('cache' =>
'/temp'),
));
assert::
same( '/myApp/test',
$container->
expand('%appDir%/test') );
assert::
same( '/temp/test',
$container->
expand('%dirs.cache%/test') );
assert::
same( array('cache' =>
'/temp'),
$container->
expand('%dirs%') );
assert::
throws(function() use
($container) {
$container->expand('%bar%');
}, 'NetteInvalidArgumentException', "Missing item 'bar'.");
assert::
throws(function() use
($container) {
$container->
parameters['bar'] =
array();
$container->expand('foo%bar%');
}, 'NetteInvalidArgumentException', "Unable to concatenate non-scalar parameter 'bar' into 'foo%bar%'.");