public function __construct(Twig_Parser $parser, Twig_Environment $env = null) { $this->parser = $parser; if ($env instanceof Twig_Environment) { $this->env = $env; $this->unaryOperators = $env->getUnaryOperators(); $this->binaryOperators = $env->getBinaryOperators(); } else { @trigger_error('Passing the operators as constructor arguments to ' . __METHOD__ . ' is deprecated since version 1.27. Pass the environment instead.', E_USER_DEPRECATED); $this->env = $parser->getEnvironment(); $this->unaryOperators = func_get_arg(1); $this->binaryOperators = func_get_arg(2); } }
public function testRemoveExtension() { $twig = new Twig_Environment(new Twig_Loader_String()); $twig->addExtension(new Twig_Tests_EnvironmentTest_Extension()); $twig->removeExtension('test'); $this->assertFalse(array_key_exists('test', $twig->getTags())); $this->assertFalse(array_key_exists('foo_filter', $twig->getFilters())); $this->assertFalse(array_key_exists('foo_function', $twig->getFunctions())); $this->assertFalse(array_key_exists('foo_test', $twig->getTests())); $this->assertFalse(array_key_exists('foo_unary', $twig->getUnaryOperators())); $this->assertFalse(array_key_exists('foo_binary', $twig->getBinaryOperators())); $this->assertFalse(array_key_exists('foo_global', $twig->getGlobals())); $this->assertCount(2, $twig->getNodeVisitors()); }
public function testAddExtension() { $twig = new Twig_Environment($this->getMock('Twig_LoaderInterface')); $twig->addExtension(new Twig_Tests_EnvironmentTest_Extension()); $this->assertArrayHasKey('test', $twig->getTags()); $this->assertArrayHasKey('foo_filter', $twig->getFilters()); $this->assertArrayHasKey('foo_function', $twig->getFunctions()); $this->assertArrayHasKey('foo_test', $twig->getTests()); $this->assertArrayHasKey('foo_unary', $twig->getUnaryOperators()); $this->assertArrayHasKey('foo_binary', $twig->getBinaryOperators()); $this->assertArrayHasKey('foo_global', $twig->getGlobals()); $visitors = $twig->getNodeVisitors(); $this->assertEquals('Twig_Tests_EnvironmentTest_NodeVisitor', get_class($visitors[2])); }
/** * @group legacy */ public function testRemoveExtension() { $twig = new Twig_Environment($this->getMockBuilder('Twig_LoaderInterface')->getMock()); $twig->addExtension(new Twig_Tests_EnvironmentTest_Extension_WithDeprecatedName()); $twig->removeExtension('environment_test'); $this->assertFalse(array_key_exists('test', $twig->getTags())); $this->assertFalse(array_key_exists('foo_filter', $twig->getFilters())); $this->assertFalse(array_key_exists('foo_function', $twig->getFunctions())); $this->assertFalse(array_key_exists('foo_test', $twig->getTests())); $this->assertFalse(array_key_exists('foo_unary', $twig->getUnaryOperators())); $this->assertFalse(array_key_exists('foo_binary', $twig->getBinaryOperators())); $this->assertFalse(array_key_exists('foo_global', $twig->getGlobals())); $this->assertCount(2, $twig->getNodeVisitors()); }