public function testAddHasGetSuggestions() { $collector = new SuggestionCollector(); $suggestions = array(new ConfigSuggestion(), new ConfigSuggestion(), new ConfigSuggestion()); foreach ($suggestions as $suggestion) { $collector->addSuggestion($suggestion); } $this->assertTrue($collector->hasSuggestions()); $this->assertSame($suggestions, $collector->getSuggestions()); }
/** * Loads a specific configuration. * * @param mixed[] $configs An array of configuration values * @param \Symfony\Component\DependencyInjection\ContainerBuilder $container A ContainerBuilder instance * * @throws \InvalidArgumentException When provided tag is not defined in this extension * * @api */ public function load( array $configs, ContainerBuilder $container ) { $loader = new Loader\YamlFileLoader( $container, new FileLocator( __DIR__ . '/../Resources/config' ) ); $configuration = $this->getConfiguration( $configs, $container ); // Note: this is where the transformation occurs $config = $this->processConfiguration( $configuration, $configs ); // Base services and services overrides $loader->load( 'services.yml' ); // Security services $loader->load( 'security.yml' ); // Default settings $loader->load( 'default_settings.yml' ); $this->registerRepositoriesConfiguration( $config, $container ); $this->registerSiteAccessConfiguration( $config, $container ); $this->registerImageMagickConfiguration( $config, $container ); $this->registerPageConfiguration( $config, $container ); // Routing $this->handleRouting( $config, $container, $loader ); // Public API loading $this->handleApiLoading( $container, $loader ); $this->handleTemplating( $container, $loader ); $this->handleSessionLoading( $container, $loader ); $this->handleCache( $config, $container, $loader ); $this->handleLocale( $config, $container, $loader ); $this->handleHelpers( $config, $container, $loader ); $this->handleImage( $config, $container, $loader ); // Map settings $processor = new ConfigurationProcessor( $container, 'ezsettings' ); $processor->mapConfig( $config, $this->configParser ); if ( $this->suggestionCollector->hasSuggestions() ) { $message = ''; $suggestionFormatter = new YamlSuggestionFormatter(); foreach ( $this->suggestionCollector->getSuggestions() as $suggestion ) { $message .= $suggestionFormatter->format( $suggestion ) . "\n\n"; } throw new InvalidArgumentException( $message ); } $this->handleSiteAccessesRelation( $container ); }