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())); }
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); }
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')); }
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); }
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)); }
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); }
public function testCanSkipDefaultModuleListeners() { $moduleManager = new Manager(array()); $moduleManager->setDisableLoadDefaultListeners(true); $listeners = $moduleManager->events()->getListeners('loadModule'); $this->assertSame(0, count($listeners)); }
public function init(Manager $moduleManager) { $moduleManager->events()->attach('loadModules.post', array($this, 'modulesLoaded')); $events = StaticEventManager::getInstance(); $events->attach('bootstrap', 'bootstrap', array($this, 'attachDoctrineEvents'), 100); }
public function init(Manager $moduleManager) { $moduleManager->events()->attach('loadModules.post', array($this, 'modulesLoaded')); }
/** * @param Manager $moduleManager */ public function init(Manager $moduleManager) { $moduleManager->events()->attach('loadModules.post', array($this, 'registerAnnotations')); }
public function init(Manager $moduleManager) { $events = $moduleManager->events(); $sharedEvents = $events->getSharedManager(); $sharedEvents->attach('bootstrap', 'bootstrap', array($this, 'initializeView'), 100); }
/** * 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); }