コード例 #1
0
 /**
  * @param $content
  * @param $expected
  *
  * @dataProvider provideContentData
  */
 public function testReplace($content, $expected, $readFrom, $shouldCall)
 {
     $containerMock = $this->getMock('\\Symfony\\Component\\DependencyInjection\\ContainerInterface');
     $kernelMock = $this->getMock('\\Symfony\\Component\\HttpKernel\\Kernel', array(), array(), '', false);
     $bundleMock = $this->getMock('\\Symfony\\Component\\HttpKernel\\Bundle\\BundleInterface', array(), array(), '', false);
     $assetsHelperMock = $this->getMock('\\Symfony\\Component\\Templating\\Helper\\AssetsHelper');
     $containerMock->expects($this->any())->method("get")->with($this->logicalOr('kernel', 'templating.helper.assets'))->will($this->returnCallback(function ($name) use($kernelMock, $assetsHelperMock) {
         if ($name == 'kernel') {
             return $kernelMock;
         } else {
             if ($name == 'templating.helper.assets') {
                 return $assetsHelperMock;
             }
         }
     }));
     $kernelMock->expects($this->any())->method('getRootDir')->willReturn("vfs://");
     $kernelMock->expects($this->exactly($shouldCall ? 1 : 0))->method("getBundle")->willReturn($bundleMock);
     $kernelMock->expects($this->any())->method('locateResource')->with($this->anything())->will($this->returnCallback(function ($resource) {
         vfsStream::setup($resource);
         return "vfs://" . $resource;
     }));
     $assetsHelperMock->expects($this->any())->method('getUrl')->willReturn($expected);
     $replacer = new UrlReplacer($containerMock);
     $current = $replacer->replace($content, $readFrom);
     $this->assertEquals($expected, $current);
 }
コード例 #2
0
ファイル: AssetsUrl.php プロジェクト: hexmedia/assetic-bundle
 private function doFilter(AssetInterface $asset)
 {
     $content = $asset->getContent();
     $replacer = new UrlReplacer($this->container);
     $asset->setContent($replacer->replace($content));
 }