/**
  * @covers DataUri\TwigExtension::getFilters
  */
 public function testGetFilters()
 {
     $filters = $this->extension->getFilters();
     $this->assertArrayHasKey(0, $filters);
     $simpleFilter = $filters[0];
     $this->assertInstanceOf('\\Twig_SimpleFilter', $simpleFilter);
 }
 public function testExtension()
 {
     $extension = new TwigExtension('foobar');
     $this->assertEquals('webpack', $extension->getName());
     $this->assertCount(2, $extension->getFunctions());
     $this->assertCount(1, $extension->getTokenParsers());
     $this->assertEquals(['js' => false, 'css' => false], $extension->webpackAsset('@AppBundle/app.js'));
 }
 public function testGetFilters()
 {
     $extension = new TwigExtension(new \ArrayObject(['config' => ['baseUrl' => '/my/url/']]));
     $filters = $extension->getFilters();
     $this->assertCount(1, $filters);
     $this->assertCount(1, $filters);
     $callback = $filters[0]->getCallable();
     $this->assertSame('/my/url/string/', $callback('/string/'));
 }
 /**
  * @dataProvider assetProvider
  */
 public function testAssets($expected, $asset, $web_dir, $dump_path, $public_path)
 {
     $extension = new TwigExtension($web_dir, $public_path, $dump_path);
     $this->assertEquals($expected, $extension->webpackPublic($asset));
 }
 public function __construct()
 {
     parent::__construct();
     $this->addOptionHtmlSafe();
     $this->addFilter('moment', [$this, 'moment']);
 }