public function testDefaultListenerAggregateCanDetachItself()
 {
     $listenerAggregate = new DefaultListenerAggregate();
     $moduleManager = new Manager(array('ListenerTestModule'));
     $listenerAggregate->attach($moduleManager->events());
     $this->assertEquals(4, count($moduleManager->events()->getEvents()));
     $listenerAggregate->detach($moduleManager->events());
     $this->assertEquals(0, count($moduleManager->events()->getEvents()));
 }
Ejemplo n.º 2
0
 public function testInitMethodCalledByInitTriggerListener()
 {
     $moduleManager = new Manager(array('ListenerTestModule'));
     $moduleManager->setDisableLoadDefaultListeners(true);
     $initListener = new InitTrigger();
     $moduleManager->events()->attach('loadModule', $initListener);
     $moduleManager->loadModules();
     $modules = $moduleManager->getLoadedModules();
     $this->assertTrue($modules['ListenerTestModule']->initCalled);
 }
Ejemplo n.º 3
0
 public function testAutoloadersRegisteredByAutoloaderListener()
 {
     $moduleManager = new Manager(array('ListenerTestModule'));
     $moduleManager->setDisableLoadDefaultListeners(true);
     $autoloaderListener = new AutoloaderListener();
     $moduleManager->events()->attach('loadModule', $autoloaderListener);
     $moduleManager->loadModules();
     $modules = $moduleManager->getLoadedModules();
     $this->assertTrue($modules['ListenerTestModule']->getAutoloaderConfigCalled);
     $this->assertTrue(class_exists('Foo\\Bar'));
 }
Ejemplo n.º 4
0
 public function testCanCacheMergedConfig()
 {
     $options = new ListenerOptions(array('cache_dir' => $this->tmpdir, 'config_cache_enabled' => true));
     $configListener = new ConfigListener($options);
     $moduleManager = $this->moduleManager;
     $moduleManager->setModules(array('SomeModule', 'ListenerTestModule'));
     $moduleManager->events()->attach('loadModule', $configListener);
     $moduleManager->loadModules();
     // This should cache the config
     $modules = $moduleManager->getLoadedModules();
     $this->assertTrue($modules['ListenerTestModule']->getConfigCalled);
     // Now we check to make sure it uses the config and doesn't hit
     // the module objects getConfig() method(s)
     $moduleManager = new Manager(array('SomeModule', 'ListenerTestModule'));
     $moduleManager->events()->attach('loadModule.resolve', new ModuleResolverListener(), 1000);
     $configListener = new ConfigListener($options);
     $moduleManager->events()->attach('loadModule', $configListener);
     $moduleManager->loadModules();
     $modules = $moduleManager->getLoadedModules();
     $this->assertFalse($modules['ListenerTestModule']->getConfigCalled);
 }
Ejemplo n.º 5
0
 public function testModuleLoadingBehavior()
 {
     $moduleManager = new Manager(array('BarModule'));
     $moduleManager->events()->attachAggregate($this->defaultListeners);
     $modules = $moduleManager->getLoadedModules();
     $this->assertSame(0, count($modules));
     $modules = $moduleManager->getLoadedModules(true);
     $this->assertSame(1, count($modules));
     $moduleManager->loadModules();
     // should not cause any problems
     $moduleManager->loadModule('BarModule');
     // should not cause any problems
     $modules = $moduleManager->getLoadedModules(true);
     // BarModule already loaded so nothing happens
     $this->assertSame(1, count($modules));
 }
Ejemplo n.º 6
0
 public function testCanCacheMergedConfigFromGlob()
 {
     $options = new ListenerOptions(array('cache_dir' => $this->tmpdir, 'config_cache_enabled' => true));
     $configListener = new ConfigListener($options);
     $configListener->addConfigGlobPath(__DIR__ . '/_files/good/*.{ini,php,xml}');
     $moduleManager = $this->moduleManager;
     $moduleManager->setModules(array('SomeModule'));
     $moduleManager->events()->attachAggregate($configListener);
     $moduleManager->loadModules();
     $configObjectFromGlob = $configListener->getMergedConfig();
     // This time, don't add the glob path
     $configListener = new ConfigListener($options);
     $moduleManager = new Manager(array('SomeModule'));
     $moduleManager->events()->attach('loadModule.resolve', new ModuleResolverListener(), 1000);
     $moduleManager->events()->attachAggregate($configListener);
     $moduleManager->loadModules();
     // Check if values from glob object and cache object are the same
     $configObjectFromCache = $configListener->getMergedConfig();
     $this->assertNotNull($configObjectFromGlob->ini);
     $this->assertSame($configObjectFromGlob->ini, $configObjectFromCache->ini);
     $this->assertNotNull($configObjectFromGlob->php);
     $this->assertSame($configObjectFromGlob->php, $configObjectFromCache->php);
     $this->assertNotNull($configObjectFromGlob->xml);
     $this->assertSame($configObjectFromGlob->xml, $configObjectFromCache->xml);
 }
Ejemplo n.º 7
0
 public function testCanSkipDefaultModuleListeners()
 {
     $moduleManager = new Manager(array());
     $moduleManager->setDisableLoadDefaultListeners(true);
     $listeners = $moduleManager->events()->getListeners('loadModule');
     $this->assertSame(0, count($listeners));
 }
Ejemplo n.º 8
0
 public function init(Manager $moduleManager)
 {
     $moduleManager->events()->attach('loadModules.post', array($this, 'modulesLoaded'));
     $events = StaticEventManager::getInstance();
     $events->attach('bootstrap', 'bootstrap', array($this, 'attachDoctrineEvents'), 100);
 }
Ejemplo n.º 9
0
 public function init(Manager $moduleManager)
 {
     $moduleManager->events()->attach('loadModules.post', array($this, 'modulesLoaded'));
 }
Ejemplo n.º 10
0
 /**
  * @param Manager $moduleManager
  */
 public function init(Manager $moduleManager)
 {
     $moduleManager->events()->attach('loadModules.post', array($this, 'registerAnnotations'));
 }
Ejemplo n.º 11
0
 public function init(Manager $moduleManager)
 {
     $events = $moduleManager->events();
     $sharedEvents = $events->getSharedManager();
     $sharedEvents->attach('bootstrap', 'bootstrap', array($this, 'initializeView'), 100);
 }
Ejemplo n.º 12
0
 /**
  * Initialize the module.
  *
  * @param  Manager $moduleManager
  * @return void
  */
 public function init(Manager $moduleManager)
 {
     $moduleManager->events()->attach('loadModule', array($this, 'addAssetPath'));
     $events = StaticEventManager::getInstance();
     $events->attach('Zend\\Mvc\\Application', 'route', array($this, 'checkRequestUriForAsset'), PHP_INT_MAX);
 }