<?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\Tests\Component\Config\Definition;
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
use Symfony\Component\Config\Definition\Processor;
use Symfony\Component\Config\Definition\NodeInterface;
class FinalizationTest extends \PHPUnit_Framework_TestCase
{
public function testUnsetKeyWithDeepHierarchy()
$tb = new TreeBuilder();
$tree = $tb
->root('config', 'array')
->children()
->node('level1', 'array')
->canBeUnset()
->node('level2', 'array')
->node('somevalue', 'scalar')->end()
->node('anothervalue', 'scalar')->end()
->end()
->node('level1_scalar', 'scalar')->end()
->buildTree()
;
$a = array(
'level1' => array(
'level2' => array(
'somevalue' => 'foo',
'anothervalue' => 'bar',
),
'level1_scalar' => 'foo',
);
$b = array(
'level2' => false,
$this->assertEquals(array(
), $this->process($tree, array($a, $b)));
}
protected function process(NodeInterface $tree, array $configs)
$processor = new Processor();
return $processor->process($tree, $configs);