public function testLoad()
 {
     $extension = new OroNavigationExtension();
     $configs = array();
     $container = $this->getMock('Symfony\\Component\\DependencyInjection\\ContainerBuilder');
     $container->expects($this->any())->method('getParameter')->with('kernel.bundles')->will($this->returnValue(array('Oro\\Bundle\\NavigationBundle\\OroNavigationBundle')));
     $isCalled = false;
     $container->expects($this->any())->method('setParameter')->will($this->returnCallback(function ($name, $value) use(&$isCalled) {
         if ($name == 'oro_menu_config' && is_array($value)) {
             $isCalled = true;
         }
     }));
     $extension->load($configs, $container);
     $this->assertTrue($isCalled);
 }
 /**
  * @dataProvider loadConfigurationDataProvider
  */
 public function testLoadConfiguration(array $configs, array $bundles, array $expectedMenu, array $expectedTitles)
 {
     CumulativeResourceManager::getInstance()->clear()->setBundles($bundles);
     $container = new ContainerBuilder();
     $this->extension->load($configs, $container);
     $this->assertTrue($container->hasDefinition('oro_menu.configuration_builder'));
     $menuBuilder = $container->getDefinition('oro_menu.configuration_builder');
     $data = $menuBuilder->getMethodCalls();
     $this->assertEquals(array(array('setConfiguration', array($expectedMenu))), $data, 'Unexpected menu for builder');
     $this->assertTrue($container->hasDefinition('oro_menu.twig.extension'));
     $menuBuilder = $container->getDefinition('oro_menu.twig.extension');
     $data = $menuBuilder->getMethodCalls();
     $this->assertEquals(array(array('setMenuConfiguration', array($expectedMenu))), $data, 'Unexpected menu for twig');
     $this->assertTrue($container->hasDefinition('oro_navigation.title_config_reader'));
     $configReader = $container->getDefinition('oro_navigation.title_config_reader');
     $data = $configReader->getMethodCalls();
     $this->assertEquals(array(array('setConfigData', array($expectedTitles))), $data);
     $this->assertTrue($container->hasDefinition('oro_navigation.title_provider'));
     $titleService = $container->getDefinition('oro_navigation.title_provider');
     $data = $titleService->getMethodCalls();
     $this->assertEquals(array(array('setTitles', array($expectedTitles))), $data);
 }