示例#1
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));
 }
示例#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);
 }
示例#3
0
文件: ManagerTest.php 项目: noose/zf2
 public function testCanLoadMultipleModules()
 {
     $moduleManager = new Manager(array('BarModule', 'BazModule'));
     $loadedModules = $moduleManager->getLoadedModules();
     $this->assertInstanceOf('BarModule\Module', $loadedModules['BarModule']);
     $this->assertInstanceOf('BazModule\Module', $loadedModules['BazModule']);
     $config = $moduleManager->getMergedConfig();
     $this->assertSame('foo', $config->bar);
     $this->assertSame('bar', $config->baz);
 }
示例#4
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'));
 }
示例#5
0
 public function testCanCacheMergedConfig()
 {
     $moduleManager = new Manager(array('SomeModule', 'ListenerTestModule'));
     $options = new ListenerOptions(array('cache_dir' => $this->tmpdir, 'config_cache_enabled' => true));
     $moduleManager->setDefaultListenerOptions($options);
     $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->setDefaultListenerOptions($options);
     $moduleManager->loadModules();
     $modules = $moduleManager->getLoadedModules();
     $this->assertFalse($modules['ListenerTestModule']->getConfigCalled);
 }