public function testGetTags() { $lexer = new Lexer(array('{#', '#}'), array('{%', '%}'), array('{#', '/}')); $this->assertEquals($lexer->getTags(), array('tag_comment' => array('{#', '#}'), 'tag_block' => array('{%', '%}'), 'tag_variable' => array('{#', '/}'))); }
/** * Get the lexer for Twig to use. * * @param Twig_Environment $twig * @param array $delimiters Opening & closing tags for comments, blocks & variables. * @return Twig_Lexer */ public function getLexer(Twig_Environment $twig = null, array $delimiters = null) { if ($this->lexer !== null) { return $this->lexer; } elseif ($twig === null) { // You must pass in an instance of Twig if the lexer has not already been set throw new InvalidArgumentException('No lexer set, you must pass an instance of Twig_Environment in!'); } if ($delimiters === null) { $delimiters = $this->app['config']->get('twigbridge::delimiters', array('tag_comment' => array('{#', '#}'), 'tag_block' => array('{%', '%}'), 'tag_variable' => array('{{', '}}'))); } $lexer = new Twig\Lexer(isset($delimiters['tag_comment']) ? $delimiters['tag_comment'] : array(), isset($delimiters['tag_block']) ? $delimiters['tag_block'] : array(), isset($delimiters['tag_variable']) ? $delimiters['tag_variable'] : array()); return $lexer->getLexer($twig); }