public function testShardDefaultsArePresentInMergedConfig() { $configListener = new ConfigListener(); $configListener->setMergedConfig(['zoop' => ['shard' => ['manifest' => ['default' => ['model_manager' => 'doctrine.odm.documentmanager.default', 'extension_configs' => ['extension.odmcore' => true, 'extension.serializer' => true]]]]], 'doctrine' => ['odm' => ['documentmanager' => ['default' => ['connection' => 'doctrine.odm.connection.default', 'configuration' => 'doctrine.odm.configuration.default', 'eventmanager' => 'doctrine.eventmanager.default']], 'configuration' => ['default' => ['class_metadata_factory_name' => 'Zoop\\Shard\\ODMCore\\ClassMetadataFactory', 'driver' => 'doctrine.driver.default']]], 'driver' => ['default' => []], 'eventmanager' => ['default' => []]]]); $event = new ModuleEvent(); $event->setConfigListener($configListener); $configMergeListener = new ConfigMergeListener(); $configMergeListener->onConfigMerge($event); $config = $configListener->getMergedConfig(false); $this->assertEquals('Zoop\\Shard\\Serializer\\Type\\Collection', $config['zoop']['shard']['manifest']['default']['service_manager_config']['invokables']['serializer.type.collection']); }
/** * Pass self to the ModuleEvent object early so everyone has access. * * @param ModuleEvent $e * @return ConfigListener */ public function loadModulesPre(ModuleEvent $e) { if ($this->getOptions()->getConfigCacheEnabled()) { $this->getOptions()->setConfigCacheKey(implode('.', $e->getTarget()->getModules()) . '.' . $this->getOptions()->getConfigCacheKey()); if ($this->hasCachedConfig()) { $this->skipConfig = true; $this->setMergedConfig($this->getCachedConfig()); } } return parent::loadModulesPre($e); }
public function testMergedConfigurationContainingServiceManagerKeyWillConfigureServiceManagerPostLoadModules() { $config = array('service_manager' => $this->getServiceConfiguration()); $configListener = new ConfigListener(); $configListener->setMergedConfig($config); $this->event->setConfigListener($configListener); $this->assertServiceManagerIsConfigured(); }
public function testConfigListenerFunctionsAsAggregateListener() { $configListener = new ConfigListener; $moduleManager = $this->moduleManager; $this->assertEquals(1, count($moduleManager->events()->getEvents())); $configListener->attach($moduleManager->events()); $this->assertEquals(4, count($moduleManager->events()->getEvents())); $configListener->detach($moduleManager->events()); $this->assertEquals(1, count($moduleManager->events()->getEvents())); }