/** * @depends testCreatesInputFilterInstance */ public function testUsesConfiguredValidationAndFilterManagerServicesWhenCreatingInputFilter() { $filters = new FilterPluginManager(); $filter = function ($value) { }; $filters->setService('foo', $filter); $validators = new ValidatorPluginManager(); $validator = $this->getMock('Zend\\Validator\\ValidatorInterface'); $validators->setService('foo', $validator); $this->services->setService('FilterManager', $filters); $this->services->setService('ValidatorManager', $validators); $this->services->setService('Config', array('input_filter_specs' => array('filter' => array('input' => array('name' => 'input', 'required' => true, 'filters' => array(array('name' => 'foo')), 'validators' => array(array('name' => 'foo'))))))); $inputFilter = $this->factory->createServiceWithName($this->filters, 'filter', 'filter'); $this->assertTrue($inputFilter->has('input')); $input = $inputFilter->get('input'); $filterChain = $input->getFilterChain(); $this->assertSame($filters, $filterChain->getPluginManager()); $this->assertEquals(1, count($filterChain)); $this->assertSame($filter, $filterChain->plugin('foo')); $this->assertEquals(1, count($filterChain)); $validatorChain = $input->getvalidatorChain(); $this->assertSame($validators, $validatorChain->getPluginManager()); $this->assertEquals(1, count($validatorChain)); $this->assertSame($validator, $validatorChain->plugin('foo')); $this->assertEquals(1, count($validatorChain)); }
/** * Create a RenameUpload instance * * @param \Zend\Filter\FilterPluginManager $filters * @return RenameUpload */ public function __invoke($filters) { $services = $filters->getServiceLocator(); $filter = new RenameUpload($this->creationOptions); if ($services->has('Request')) { $filter->setRequest($services->get('Request')); } return $filter; }
/** * @param \Zend\Validator\ValidatorPluginManager $vm * @param \Zend\Filter\FilterPluginManager $fm */ private function setFileAlias($vm, $fm) { $validatorsAliases = array('count' => 'filecount', 'crc32' => 'filecrc32', 'excludeextension' => 'fileexcludeextension', 'excludemimetype' => 'fileexcludemimetype', 'exists' => 'fileexists', 'extension' => 'fileextension', 'filessize' => 'filefilessize', 'hash' => 'filehash', 'imagesize' => 'fileimagesize', 'iscompressed' => 'fileiscompressed', 'isimage' => 'fileisimage', 'md5' => 'filemd5', 'mimetype' => 'filemimetype', 'notexists' => 'filenotexists', 'sha1' => 'filesha1', 'size' => 'filesize', 'upload' => 'fileupload', 'wordcount' => 'filewordcount'); $filtersAliases = array('decrypt' => 'filedecrypt', 'encrypt' => 'fileencrypt', 'lowercase' => 'filelowercase', 'rename' => 'filerename', 'uppercase' => 'fileuppercase'); foreach ($validatorsAliases as $key => $value) { $vm->setAlias($key, $value); } foreach ($filtersAliases as $key => $value) { $fm->setAlias($key, $value); } }
public function testFactory() { $factory = new CacheBusterFilterFactory(); $serviceManager = new ServiceManager(); $options = new ModuleOptions(); $options->setCacheBusterInternalBaseDir(__DIR__ . '/_files'); $serviceManager->setService(ModuleOptions::class, $options); $filterManager = new FilterPluginManager(); $filterManager->setServiceLocator($serviceManager); $instance = $factory->createService($filterManager); $this->assertInstanceOf(CacheBusterFilter::class, $instance); $this->assertInstanceOf(FilterInterface::class, $instance); }
public function testFactory() { $factory = new BasePathFilterFactory(); $viewHelperManager = new HelperPluginManager(); $viewHelperManager->setService('basePath', new BasePath()); $serviceManager = new ServiceManager(); $serviceManager->setService('viewHelperManager', $viewHelperManager); $filterManager = new FilterPluginManager(); $filterManager->setServiceLocator($serviceManager); $instance = $factory->createService($filterManager); $this->assertInstanceOf(BasePathFilter2::class, $instance); $this->assertInstanceOf(FilterInterface::class, $instance); }
public function testGenerateViewHelpers() { $config = (new Module())->getConfig(); $helperPluginManager = new HelperPluginManager(); $helperPluginManager->setServiceLocator(new ServiceManager()); $filterManager = new FilterPluginManager(); $basePath = $helperPluginManager->get('basePath'); $basePath->setBasePath('/assets'); $basePathFilter = new BasePathFilter($basePath); $filterManager->setService('basePath', $basePathFilter); $cacheBusterFilter = new CacheBusterFilter(__DIR__ . '/_files'); $filterManager->setService('cacheBuster', $cacheBusterFilter); $generator = new ViewHelperGenerator($filterManager, $helperPluginManager, $config['con-layout']['view_helpers']); $renderer = new PhpRenderer(); $renderer->setHelperPluginManager($helperPluginManager); /* @var $headLink HeadLink */ $headLink = $helperPluginManager->get('headLink'); $headLinkProxy = new HeadLinkProxy($headLink); $helperPluginManager->setService(get_class($headLinkProxy), $headLinkProxy); /* @var $headScript HeadScript */ $headScript = $helperPluginManager->get('headScript'); $headScriptProxy = new HeadScriptProxy($headScript); $helperPluginManager->setService(get_class($headScriptProxy), $headScriptProxy); /* @var $doctype Doctype */ $doctype = $helperPluginManager->get('doctype'); $doctype('HTML5'); /* @var $headTitle HeadTitle */ $headTitle = $helperPluginManager->get('headTitle'); $headTitleProxy = new HeadTitleProxy($headTitle); $helperPluginManager->setService(get_class($headTitleProxy), $headTitleProxy); /* @var $headMeta HeadMeta */ $headMeta = $helperPluginManager->get('headMeta'); $headMetaProxy = new HeadMetaProxy($headMeta); $helperPluginManager->setService(get_class($headMetaProxy), $headMetaProxy); $headMeta->setView($renderer); $generator->generate($this->getLayoutStructure()); foreach (['/assets/css/test.css', '/assets/css/main.css'] as $expected) { $this->assertContains($expected, $headLink->toString()); } foreach (['jquery.min.js', 'jquery-ui.min.js'] as $expected) { $this->assertContains($expected, $headScript->toString()); } $this->assertEquals('<!DOCTYPE html>', (string) $doctype); $headTitle->setSeparator(' | '); $expected = 'First | My Title | Another Title'; $this->assertContains($expected, $headTitle->toString()); $contains = ['charset="utf8"', 'name="description" content="My description"', 'name="keywords" content="keyword1, keyword2, keyword3"']; foreach ($contains as $expected) { $this->assertContains($expected, $headMeta->toString()); } }
/** * {@inheritDoc} */ public function get($name, $options = array(), $usePeeringServiceManagers = true) { // Canonize invokable class from name if (!$this->has($name) && !class_exists($name)) { // Lookup in default invokable list $cname = strtolower(str_replace(array('-', '_', ' ', '\\', '/'), '', $name)); if (isset($this->invokableList[$cname])) { $invokableClass = 'Pi\\' . $this->invokableList[$cname]; if (!class_exists($invokableClass)) { $invokableClass = 'Zend\\' . $this->invokableList[$cname]; } $name = $invokableClass; // Lookup in helper locations } else { $class = str_replace(' ', '', ucwords(str_replace(array('-', '_', '\\', '/'), ' ', $name))); if (class_exists('Pi\\Filter\\' . $class)) { $name = 'Pi\\Filter\\' . $class; } else { $name = 'Zend\\Filter\\' . $class; } } } $filter = parent::get($name, $options, $usePeeringServiceManagers); return $filter; }
public function setUp() { $services = $this->services = new ServiceManager(); $elements = new FormElementManager(); $filters = new FilterPluginManager(); $hydrators = new HydratorPluginManager(); $inputFilters = new InputFilterPluginManager(); $validators = new ValidatorPluginManager(); $elements->setServiceLocator($services); $filters->setServiceLocator($services); $hydrators->setServiceLocator($services); $inputFilters->setServiceLocator($services); $validators->setServiceLocator($services); $services->setService('FilterManager', $filters); $services->setService('FormElementManager', $elements); $services->setService('HydratorManager', $hydrators); $services->setService('InputFilterManager', $inputFilters); $services->setService('ValidatorManager', $validators); $inputFilters->setInvokableClass('FooInputFilter', 'Zend\\InputFilter\\InputFilter'); $forms = $this->forms = new FormAbstractServiceFactory(); $services->addAbstractFactory($forms); }
/** * Constructor * * Merges default aliases pertinent to this plugin manager with those * defined in the parent filter plugin manager. * * @param null|\Zend\ServiceManager\ConfigInterface|\Interop\Container\ContainerInterface $configOrContainerInstance * @param array $v3config If $configOrContainerInstance is a container, this * value will be passed to the parent constructor. */ public function __construct($configOrContainerInstance = null, array $v3config = []) { $this->aliases = array_merge($this->defaultFileFilterAliases, $this->aliases); parent::__construct($configOrContainerInstance, $v3config); }
public function __invoke(FilterPluginManager $filterPluginManager) { $htmlPurifier = $filterPluginManager->getServiceLocator()->get('HTMLPurifier'); return new PurifierFilter($htmlPurifier, $this->getCreationOptions()); }