/** * Create service * * @param ServiceLocatorInterface $serviceLocator * @return ProcessorPluginManager */ public function createService(ServiceLocatorInterface $serviceLocator) { $config = $serviceLocator->get('Config'); if (!isset($config[self::OPTIONS_KEY])) { $config[self::OPTIONS_KEY] = []; } $managerOptions = new Config($config[self::OPTIONS_KEY]); $processorManager = new ProcessorPluginManager($managerOptions); $processorManager->setServiceLocator($serviceLocator); return $processorManager; }
/** * @group 4455 */ public function testWillInjectProcessorPluginManagerIfAvailable() { $processors = new ProcessorPluginManager(); $mockProcessor = $this->getMock('Zend\\Log\\Processor\\ProcessorInterface'); $processors->setService('CustomProcessor', $mockProcessor); $services = new ServiceManager(new ServiceManagerConfig(array('abstract_factories' => array('Zend\\Log\\LoggerAbstractServiceFactory')))); $services->setService('LogProcessorManager', $processors); $services->setService('Config', array('log' => array('Application\\Frontend' => array('writers' => array(array('name' => 'Null')), 'processors' => array(array('name' => 'CustomProcessor')))))); $log = $services->get('Application\\Frontend'); $logProcessors = $log->getProcessors(); $this->assertEquals(1, count($logProcessors)); $processor = $logProcessors->current(); $this->assertSame($mockProcessor, $processor); }