eZ\Bundle\EzPublishCoreBundle\Tests\DependencyInjection\Configuration\SiteAccessAware\ContextualizerTest::testMapConfigArraySecondLevel PHP Method

testMapConfigArraySecondLevel() public method

    public function testMapConfigArraySecondLevel()
    {
        $containerBuilder = new ContainerBuilder();
        $this->contextualizer->setContainer($containerBuilder);
        $defaultConfig = array('foo' => null, 'some' => null, 'planets' => array('Earth'), 'an_integer' => 0, 'enabled' => false, 'j_adore' => array('les_sushis'));
        $config = array($this->saNodeName => array('default' => array('foo_setting' => $defaultConfig), 'sa_group1' => array('foo_setting' => array('foo' => 'bar', 'some' => 'thing', 'an_integer' => 123)), 'sa1' => array('foo_setting' => array('an_integer' => 456, 'enabled' => true, 'j_adore' => array('le_saucisson'))), 'sa2' => array('foo_setting' => array('foo' => 'baz', 'planets' => array('Mars', 'Venus'), 'an_integer' => 789)), 'sa3' => array('foo_setting' => array('planets' => array('Earth', 'Jupiter'))), 'global' => array('foo_setting' => array('j_adore' => array('la_truite_a_la_vapeur')))));
        $expectedMergedSettings = array('sa1' => array('foo' => 'bar', 'some' => 'thing', 'planets' => array('Earth'), 'an_integer' => 456, 'enabled' => true, 'j_adore' => array('les_sushis', 'le_saucisson', 'la_truite_a_la_vapeur')), 'sa2' => array('foo' => 'baz', 'some' => 'thing', 'planets' => array('Earth', 'Mars', 'Venus'), 'an_integer' => 789, 'enabled' => false, 'j_adore' => array('les_sushis', 'la_truite_a_la_vapeur')), 'sa3' => array('foo' => 'bar', 'some' => 'thing', 'planets' => array('Earth', 'Earth', 'Jupiter'), 'an_integer' => 123, 'enabled' => false, 'j_adore' => array('les_sushis', 'la_truite_a_la_vapeur')));
        $this->contextualizer->mapConfigArray('foo_setting', $config, ContextualizerInterface::MERGE_FROM_SECOND_LEVEL);
        $this->assertSame($expectedMergedSettings['sa1'], $containerBuilder->getParameter("{$this->namespace}.sa1.foo_setting"));
        $this->assertSame($expectedMergedSettings['sa2'], $containerBuilder->getParameter("{$this->namespace}.sa2.foo_setting"));
        $this->assertSame($expectedMergedSettings['sa3'], $containerBuilder->getParameter("{$this->namespace}.sa3.foo_setting"));
    }