/** * @return \Twig_Function|\Twig_SimpleFunction */ public function getNativeInstance() { if (Inspect::useClass('\\Twig_Function')->isAbstract()) { return new \Twig_SimpleFunction($this->name, $this->callable, $this->options->toArray()); } return new \Twig_Function($this->name, $this->callable, $this->options->toArray()); }
public function testSetAndGetAndClearFilters() { $callable = function () { return 'test-callable'; }; $extension = new TwigExtension(); $extension->addFilter('test', $callable); if (Inspect::useClass('\\Twig_Filter')->isAbstract()) { $this->assertInstanceOf('\\Twig_SimpleFilter', $extension->getFilters()[0]); } else { $this->assertInstanceOf('\\Twig_Filter', $extension->getFilters()[0]); } $extension->clearFilters(); $this->assertCount(0, $extension->getFilters()); }
public function testBindTo() { $object = FixtureClassOne::class; $method = Inspect::useClass($object, $fixture = new FixtureClassOne()); $result = $method->visitConstants(function (ConstantInspector $const) use($object) { return $this->protectedOne0($const->value()) . '---' . $const->name(); }); $this->assertGreaterThan(3, $result); foreach ($result as $r) { $this->assertNotFalse(strpos($r, 'propProtectedOne0') !== false); $this->assertNotFalse(strpos($r, 'ONE_') !== false || strpos($r, 'NULL_') !== false); } }