Esempio n. 1
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);
 }
Esempio n. 2
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'));
 }
Esempio n. 3
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);
 }
Esempio n. 4
0
 public function testNotFoundModuleThrowsRuntimeException()
 {
     $this->setExpectedException('RuntimeException');
     $moduleManager = new Manager(array('NotFoundModule'));
     $moduleManager->loadModules();
 }
Esempio n. 5
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);
 }
Esempio n. 6
0
 public function testCanMergeConfigFromGlob()
 {
     $moduleManager = new Manager(array('SomeModule'));
     $moduleManager->loadModules();
     $moduleManager->getConfigListener()->mergeGlobDirectory(dirname(__DIR__) . '/_files/*.{ini,json,php,xml,yaml}');
     $config = $moduleManager->getMergedConfig(false);
     $this->assertTrue($config['php']);
 }
Esempio n. 7
0
 public function testPhpConfigFileReturningConfigWithoutExpectedApplicationEnvironmentRaisesException()
 {
     $moduleManager = new Manager(array('SomeModule'));
     $configListener = $moduleManager->getConfigListener();
     $configListener->addConfigGlobPaths(new ArrayObject(array(__DIR__ . '/_files/bad/*.inc')));
     $this->setExpectedException('Zend\\Module\\Listener\\Exception\\RuntimeException', 'environment');
     $moduleManager->loadModules();
 }
Esempio n. 8
0
 public function testCanMergeConfigFromArrayOfGlobs()
 {
     $moduleManager = new Manager(array('SomeModule'));
     $moduleManager->getConfigListener()->addConfigGlobPaths(new \ArrayObject(array(dirname(__DIR__) . '/_files/*.ini', dirname(__DIR__) . '/_files/*.json', dirname(__DIR__) . '/_files/*.php', dirname(__DIR__) . '/_files/*.xml', dirname(__DIR__) . '/_files/*.yaml')));
     $moduleManager->loadModules();
     // Test as object
     $configObject = $moduleManager->getMergedConfig()->all;
     $this->assertSame('yes', $configObject->ini);
     $this->assertSame('yes', $configObject->php);
     $this->assertSame('yes', $configObject->json);
     $this->assertSame('yes', $configObject->xml);
     $this->assertTrue($configObject->yaml);
 }