* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Asset\Tests; use PHPUnit\Framework\TestCase; use Symfony\Component\Asset\PathPackage; use Symfony\Component\Asset\VersionStrategy\StaticVersionStrategy; class PathPackageTest extends TestCase { /** * @dataProvider getConfigs */ public function testGetUrl($basePath, $format, $path, $expected) { $package = new PathPackage($basePath, new StaticVersionStrategy('v1', $format)); $this->assertEquals($expected, $package->getUrl($path)); } public function getConfigs() { return array( array('/foo', '', 'http://example.com/foo', 'http://example.com/foo'), array('/foo', '', 'https://example.com/foo', 'https://example.com/foo'), array('/foo', '', '//example.com/foo', '//example.com/foo'), array('', '', '/foo', '/foo?v1'), array('/foo', '', '/bar', '/bar?v1'), array('/foo', '', 'bar', '/foo/bar?v1'), array('foo', '', 'bar', '/foo/bar?v1'), array('foo/', '', 'bar', '/foo/bar?v1'), array('/foo/', '', 'bar', '/foo/bar?v1'), array('/foo', 'version-%2$s/%1$s', '/bar', '/version-v1/bar'), array('/foo', 'version-%2$s/%1$s', 'bar', '/foo/version-v1/bar'), array('/foo', 'version-%2$s/%1$s', 'bar/', '/foo/version-v1/bar/'), array('/foo', 'version-%2$s/%1$s', '/bar/', '/version-v1/bar/'), ); } /** * @dataProvider getContextConfigs */ public function testGetUrlWithContext($basePathRequest, $basePath, $format, $path, $expected) { $package = new PathPackage($basePath, new StaticVersionStrategy('v1', $format), $this->getContext($basePathRequest)); $this->assertEquals($expected, $package->getUrl($path)); } public function getContextConfigs() { return array( array('', '/foo', '', '/baz', '/baz?v1'), array('', '/foo', '', 'baz', '/foo/baz?v1'), array('', 'foo', '', 'baz', '/foo/baz?v1'), array('', 'foo/', '', 'baz', '/foo/baz?v1'), array('', '/foo/', '', 'baz', '/foo/baz?v1'), array('/bar', '/foo', '', '/baz', '/baz?v1'), array('/bar', '/foo', '', 'baz', '/bar/foo/baz?v1'), array('/bar', 'foo', '', 'baz', '/bar/foo/baz?v1'), array('/bar', 'foo/', '', 'baz', '/bar/foo/baz?v1'), array('/bar', '/foo/', '', 'baz', '/bar/foo/baz?v1'), ); } public function testVersionStrategyGivesAbsoluteURL() { $versionStrategy = $this->getMockBuilder('Symfony\Component\Asset\VersionStrategy\VersionStrategyInterface')->getMock(); $versionStrategy->expects($this->any()) ->method('applyVersion') ->willReturn('https://cdn.com/bar/main.css'); $package = new PathPackage('/subdirectory', $versionStrategy, $this->getContext('/bar')); $this->assertEquals('https://cdn.com/bar/main.css', $package->getUrl('main.css')); } private function getContext($basePath) { $context = $this->getMockBuilder('Symfony\Component\Asset\Context\ContextInterface')->getMock(); $context->expects($this->any())->method('getBasePath')->will($this->returnValue($basePath)); return $context; } } __halt_compiler();----SIGNATURE:----HT3l3S2ITN+8LhAI/fc2ngRtRW/RELLgugUWGexSrE78qfD3KC6iBxB28Pm9HIYdHxJOSg92DY9bwl51QpxPnPj4eQwq67pzz8KemzDb7soZyr6fEnfwfcpsnSzoSPqzwqk2OqIXHp+2gwwsGBtiQo9wnJK5543YhMP3MyBikBEzPH1Rn/lDzJ6CGWHzQR/KsfmwPUYlDDQaJvawK8M0MQ0OxQX0qh9J2M8mTkK48tRv89aEiUtbzZ2TFWxviX6mSmEESVJLHkvMcLZHguYcF0e0GAx5DUNgYs60eSvQhK9yY6rTYv4i3p/FGE9DSmsKMsoV1NiWAtqxwYYvQZXPn9kO7b349gAd0yj+M/8CJaZIJg4sd/Gt7wjT/5sRuDEa36gkbFxAjwjGEQLJ7xJwZU28rMvjErNKJtQw1eRA9WL4aKYg5ZH4Pj0YGB6txxmKs1deUQCzGVWdO5Vxi0dR7RqAA1LPfiAaazLaUyOzp/vcMv/dqKy5eX9X16Djj8OH6hV5keJFbaKhPtf1fWzILUruHlqsoR+jscJy1yhB91RZ2G6z1lLGFXXcu4+kvMIuI2XiOgHGsTry5TwP1XiT0nkrnqoCh0iiLMAq2ywV7m12raJKGpbOEdR3JsgGfN11XpCxII54vzu/vgDFieOQzTwdcgzTHaSbCHDCgh0mVzo=----ATTACHMENT:----Njg3NDQyNDkyMjc3NDk2NSA2NzA1OTUzNjg0NjkwMzQ1IDQzNjY1ODA4MDA5NzY0MDQ=