/**
  * @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;
 }
Beispiel #3
0
 /**
  * @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);
 }
Beispiel #9
0
 /**
  * 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());
 }