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);
 }
Пример #3
0
 public function testMergedConfigurationContainingServiceManagerKeyWillConfigureServiceManagerPostLoadModules()
 {
     $config = array('service_manager' => $this->getServiceConfiguration());
     $configListener = new ConfigListener();
     $configListener->setMergedConfig($config);
     $this->event->setConfigListener($configListener);
     $this->assertServiceManagerIsConfigured();
 }
Пример #4
0
    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()));
    }