public function testInitializerWorksWithOtherLocators() { $sm = new ServiceManager(); $sm->setService('config', array()); $sm->setFactory('NetglueMoney\\Service\\CurrencyList', new CurrencyListFactory()); $list = $sm->get('NetglueMoney\\Service\\CurrencyList'); $vm = new \Zend\Validator\ValidatorPluginManager(); $vm->setServiceLocator($sm); $init = new CurrencyListInitializer(); $instance = new ListInititializerTester(); $init->initialize($instance, $vm); $this->assertSame($list, $instance->getCurrencyList()); }
public function testCanBeRegisteredAsFactory() { $sm = new ServiceManager(); $sm->setService('config', array('ng_money' => array('allowCurrencies' => array('GBP', 'USD'), 'excludeCurrencies' => array('USD')))); $sm->setFactory('NetglueMoney\\Service\\CurrencyList', new CurrencyListFactory()); $validatorManager = new \Zend\Validator\ValidatorPluginManager(); $validatorManager->setServiceLocator($sm); $sm->setService('ValidatorManager', $validatorManager); $validatorManager->setFactory('mine', new CurrencyCodeValidatorFactory()); $valid = $validatorManager->get('mine'); $this->assertInstanceOf('NetglueMoney\\Validator\\CurrencyCode', $valid); $this->assertInstanceOf('NetglueMoney\\Service\\CurrencyList', $valid->getCurrencyList()); }
public function testCanBeRegisteredAsFactory() { $sm = new ServiceManager(); $sm->setService('config', array('ng_money' => array('allowCurrencies' => array('GBP', 'USD'), 'excludeCurrencies' => array('USD')))); $sm->setFactory('NetglueMoney\\Service\\CurrencyList', new CurrencyListFactory()); $list = $sm->get('NetglueMoney\\Service\\CurrencyList'); $formElementManager = new \Zend\Form\FormElementManager(); $formElementManager->setServiceLocator($sm); $validatorManager = new \Zend\Validator\ValidatorPluginManager(); $validatorManager->setServiceLocator($sm); $sm->setService('ValidatorManager', $validatorManager); $formElementManager->setFactory('select', new CurrencySelectFactory()); $select = $formElementManager->get('select'); $this->assertInstanceOf('NetglueMoney\\Form\\Element\\SelectCurrency', $select); $this->assertInstanceOf('NetglueMoney\\Service\\CurrencyList', $select->getCurrencyList()); $this->assertInstanceOf('NetglueMoney\\Validator\\CurrencyCode', $select->getValidator()); }