/** * @covers phpDocumentor\Descriptor\Filter\Filter::filter */ public function testFilter() { $filterableMock = m::mock('phpDocumentor\\Descriptor\\Filter\\Filterable'); $this->filterChainMock->shouldReceive('filter')->with($filterableMock)->andReturn($filterableMock); $this->classFactoryMock->shouldReceive('getChainFor')->with(get_class($filterableMock))->andReturn($this->filterChainMock); $this->assertSame($filterableMock, $this->fixture->filter($filterableMock)); }
/** * Attaches the filter responsible for the conversion to all structural elements. * * @param ProjectDescriptorBuilder $builder * @param Filter $filterManager * * @return void */ private function addNamespaceFilter(ProjectDescriptorBuilder $builder, Filter $filterManager) { $filter = new LegacyNamespaceFilter($builder); // parse parameters foreach ($this->plugin->getParameters() as $param) { if ($param->getKey() == 'NamespacePrefix') { $filter->setNamespacePrefix($param->getValue()); } } $filterManager->attach('phpDocumentor\\Descriptor\\ConstantDescriptor', $filter); $filterManager->attach('phpDocumentor\\Descriptor\\FunctionDescriptor', $filter); $filterManager->attach('phpDocumentor\\Descriptor\\InterfaceDescriptor', $filter); $filterManager->attach('phpDocumentor\\Descriptor\\TraitDescriptor', $filter); $filterManager->attach('phpDocumentor\\Descriptor\\PropertyDescriptor', $filter); $filterManager->attach('phpDocumentor\\Descriptor\\FileDescriptor', $filter); $filterManager->attach('phpDocumentor\\Descriptor\\ClassDescriptor', $filter); }
/** * Attaches filters to the manager. * * @param Filter $filterManager * @param Application $app * * @return Filter */ public function attachFiltersToManager(Filter $filterManager, Application $app) { $stripOnVisibility = new StripOnVisibility($app['descriptor.builder']); $filtersOnAllDescriptors = array(new StripInternal($app['descriptor.builder']), new StripIgnore($app['descriptor.builder'])); foreach ($filtersOnAllDescriptors as $filter) { $filterManager->attach('phpDocumentor\\Descriptor\\ConstantDescriptor', $filter); $filterManager->attach('phpDocumentor\\Descriptor\\FunctionDescriptor', $filter); $filterManager->attach('phpDocumentor\\Descriptor\\InterfaceDescriptor', $filter); $filterManager->attach('phpDocumentor\\Descriptor\\TraitDescriptor', $filter); $filterManager->attach('phpDocumentor\\Descriptor\\PropertyDescriptor', $filter); $filterManager->attach('phpDocumentor\\Descriptor\\MethodDescriptor', $filter); } $filterManager->attach('phpDocumentor\\Descriptor\\PropertyDescriptor', $stripOnVisibility); $filterManager->attach('phpDocumentor\\Descriptor\\MethodDescriptor', $stripOnVisibility); return $filterManager; }
/** * Analyzes a Descriptor and alters its state based on its state or even removes the descriptor. * * @param Filterable $descriptor * * @return Filterable */ public function filter(Filterable $descriptor) { return $this->filter->filter($descriptor); }