/**
  * @param Symfony\Component\DependencyInjection\ContainerBuilder $container
  * @param Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface $parameterBag
  * @param Symfony\Component\DependencyInjection\Definition $libraryDefinition
  * @param Symfony\Component\DependencyInjection\Definition $parserDefinition
  */
 public function it_loads_the_configuration($container, $parameterBag, $libraryDefinition, $parserDefinition)
 {
     $container->getParameterBag()->shouldBeCalled()->willReturn($parameterBag);
     $container->hasExtension(Argument::any())->shouldBeCalled()->willReturn(false);
     $container->addResource(Argument::any())->shouldBeCalled()->willReturn($container);
     foreach (array('dispatcher', 'metadata.driver', 'metadata.factory', 'metadata.reader', 'parser', 'library', 'parser', 'formatter', 'formatter.markdown', 'formatter.textile', 'validator', 'validator.constraint_validator_factory') as $service) {
         $container->setDefinition('fabricius.' . $service, Argument::any())->shouldBeCalled();
     }
     $container->setAlias('fabricius', Argument::any())->shouldBeCalled();
     $container->getDefinition('fabricius.library')->shouldBeCalled()->willReturn($libraryDefinition);
     $libraryDefinition->addMethodCall('registerRepository', Argument::that(function ($args) {
         if ($args[0] !== 'Fabricius\\FabriciusBundle\\ContentItem') {
             return false;
         } elseif ($args[1]->getClass() !== 'Fabricius\\Loader\\FileLoader') {
             return false;
         } elseif ($args[2]->getClass() !== 'Fabricius\\Storage\\ArrayStorage') {
             return false;
         }
         return true;
     }))->shouldBeCalled();
     $container->getDefinition('fabricius.parser')->shouldBeCalled()->willReturn($parserDefinition);
     $parserDefinition->addMethodCall('setExcerptDelimiter', array('[MORE]'))->shouldBeCalled();
     $config = array('excerpt_delimiter' => '[MORE]', 'formatter' => array('markdown' => array('enabled' => true), 'textile' => array('enabled' => true)), 'repositories' => array('Fabricius\\FabriciusBundle\\ContentItem' => array('loader' => array('file' => array('dir' => __DIR__)), 'storage' => array('array' => array('enabled' => true)))));
     $this->load(array('fabricius' => $config), $container)->shouldReturn(null);
 }