<?php
/**
* Test: NetteDIContainerBuilder and Container: findByTag()
*
* @author David Grudl
* @package NetteDI
* @subpackage UnitTests
*/
use NetteDI;
require __DIR__ . '/../bootstrap.php';
$builder = new DIContainerBuilder;
$builder->addDefinition('one')
->setClass('stdClass');
$builder->addDefinition('two')
->setClass('stdClass')
->addTag('debugPanel', true);
$builder->addDefinition('five')
->setClass('stdClass')
->
addTag('debugPanel',
array(1,
2,
3))
->addTag('typeHint', 'Service');
// compile-time
'five' => 'Service',
), $builder->findByTag('typeHint') );
'two' => true,
'five' =>
array(1,
2,
3),
), $builder->findByTag('debugPanel') );
assert::
same( array(),
$builder->
findByTag('unknown') );
// run-time
$code = (string) $builder->generateClass();
file_put_contents(TEMP_DIR . '/code.php', "<?phpn$code");
require TEMP_DIR . '/code.php';
$container = new Container;
'five' => 'Service',
), $container->findByTag('typeHint') );
'two' => true,
'five' =>
array(1,
2,
3),
), $container->findByTag('debugPanel') );
assert::
same( array(),
$container->
findByTag('unknown') );