public function testCustomFilter() { $tokenFilter = new CustomTokenFilter(); TokenFilterFactory::register($tokenFilter); $this->assertTrue(TokenFilterFactory::isRegisteredByName($tokenFilter::getName())); $data = '[[token|custom_test_filter|lower]]'; $tokenResolver = new RegisteredTokenResolver(array('token' => 'Class.Method')); $tokenParser = new TokenParser(); $tokens = $tokenParser->parseString($data); $tokens->resolve($tokenResolver); $token = $tokens->get($data); $this->assertEquals('class->method', $token->getTokenValue()); }
/** * @param boolean $ignoreUnknownFilters * @throws UnknownFilterException * @return $this */ public function applyFilters($ignoreUnknownFilters = True) { $unresolvedFilters = array(); $filteredValue = $this->unfilteredTokenValue; foreach ($this->filters as $filterName) { if (!TokenFilterFactory::isRegisteredByName($filterName)) { if (!$ignoreUnknownFilters) { throw new UnknownFilterException($filterName); } $unresolvedFilters[$filterName] = $filterName; continue; } $filteredValue = TokenFilterFactory::getFilteredValue($filterName, $filteredValue, $ignoreUnknownFilters); } $this->setTokenValue($filteredValue); $this->unresolvedFilters = $unresolvedFilters; return $this; }