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 testNotFoundModuleThrowsRuntimeException() { $this->setExpectedException('RuntimeException'); $moduleManager = new Manager(array('NotFoundModule')); $moduleManager->loadModules(); }
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 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']); }
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(); }
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); }