public function testPeeringService()
 {
     $di = new Di();
     $di->instanceManager()->setParameters('ZendTest\ServiceManager\TestAsset\Bar', array('foo' => array('a')));
     $this->serviceManager->addAbstractFactory(new DiAbstractServiceFactory($di));
     $sm = $this->serviceManager->createScopedServiceManager(ServiceManager::SCOPE_PARENT);
     $sm->setFactory('di', new DiFactory());
     $bar = $sm->get('ZendTest\ServiceManager\TestAsset\Bar', true);
     $this->assertInstanceOf('ZendTest\ServiceManager\TestAsset\Bar', $bar);
 }
Esempio n. 2
0
 /**
  * @covers Zend\ServiceManager\ServiceManager::createScopedServiceManager
  */
 public function testCreateScopedServiceManager()
 {
     $this->serviceManager->setService('foo', 'bar');
     $scopedServiceManager = $this->serviceManager->createScopedServiceManager();
     $this->assertNotSame($this->serviceManager, $scopedServiceManager);
     $this->assertFalse($scopedServiceManager->has('foo', false));
     $this->assertContains($this->serviceManager, $this->readAttribute($scopedServiceManager, 'peeringServiceManagers'));
     // test child scoped
     $childScopedServiceManager = $this->serviceManager->createScopedServiceManager(ServiceManager::SCOPE_CHILD);
     $this->assertContains($childScopedServiceManager, $this->readAttribute($this->serviceManager, 'peeringServiceManagers'));
 }
Esempio n. 3
0
 /**
  * Support method for getServiceManager()
  *
  * @return void
  */
 protected function setupSearchService()
 {
     $smConfig = new \Zend\ServiceManager\Config(['factories' => ['Solr' => 'VuFind\\Search\\Factory\\SolrDefaultBackendFactory', 'SolrAuth' => 'VuFind\\Search\\Factory\\SolrAuthBackendFactory']]);
     $registry = $this->serviceManager->createScopedServiceManager();
     $smConfig->configureServiceManager($registry);
     $bm = new \VuFind\Search\BackendManager($registry);
     $this->serviceManager->setService('VuFind\\Search\\BackendManager', $bm);
     $ss = new \VuFindSearch\Service();
     $this->serviceManager->setService('VuFind\\Search', $ss);
     $fh = new \VuFind\Search\Solr\HierarchicalFacetHelper();
     $this->serviceManager->setService('VuFind\\HierarchicalFacetHelper', $fh);
     $events = $ss->getEventManager();
     $events->attach('resolve', [$bm, 'onResolve']);
 }
Esempio n. 4
0
 /**
  * Construct the search backend manager.
  *
  * @param ServiceManager $sm Service manager.
  *
  * @return \VuFind\Search\BackendManager
  */
 public static function getSearchBackendManager(ServiceManager $sm)
 {
     $config = $sm->get('config');
     $smConfig = new \Zend\ServiceManager\Config($config['vufind']['plugin_managers']['search_backend']);
     $registry = $sm->createScopedServiceManager();
     $smConfig->configureServiceManager($registry);
     $manager = new \VuFind\Search\BackendManager($registry);
     return $manager;
 }
Esempio n. 5
0
 public function testPeeringServiceFallbackOnCreateFailure()
 {
     $factory = function ($sm) {
         return new TestAsset\Bar();
     };
     $serviceManager = new ServiceManager();
     $serviceManager->setFactory('ZendTest\\ServiceManager\\TestAsset\\Bar', $factory);
     $sm = $serviceManager->createScopedServiceManager(ServiceManager::SCOPE_CHILD);
     $di = new Di();
     $di->instanceManager()->setParameters('ZendTest\\ServiceManager\\TestAsset\\Bar', array('foo' => array('a')));
     $sm->addAbstractFactory(new DiAbstractServiceFactory($di));
     $bar = $serviceManager->get('ZendTest\\ServiceManager\\TestAsset\\Bar');
     $this->assertInstanceOf('ZendTest\\ServiceManager\\TestAsset\\Bar', $bar);
 }