~xaav/tsep/symfony

« back to all changes in this revision

Viewing changes to src/Symfony/Bridge/Twig/Tests/Extension/AssetExtensionTest.php

  • Committer: Fabien Potencier
  • Date: 2015-05-21 07:31:29 UTC
  • mfrom: (7647.2.1)
  • Revision ID: git-v1:b248bd1ee1d17ba892fa4742ccfc75fcacd8a9fb
bug #14708 [TwigBridge] use proper class to fetch asset version strategy property (xabbuh)

This PR was merged into the 2.7 branch.

Discussion
----------

[TwigBridge] use proper class to fetch asset version strategy property

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #14692
| License       | MIT
| Doc PR        |

Commits
-------

01b7dd6 [TwigBridge] use proper class to fetch asset version strategy property

Show diffs side-by-side

added added

removed removed

Lines of Context:
14
14
use Symfony\Bridge\Twig\Extension\AssetExtension;
15
15
use Symfony\Component\Asset\Package;
16
16
use Symfony\Component\Asset\Packages;
 
17
use Symfony\Component\Asset\PathPackage;
17
18
use Symfony\Component\Asset\VersionStrategy\StaticVersionStrategy;
18
19
 
19
20
class AssetExtensionTest extends \PHPUnit_Framework_TestCase
23
24
     */
24
25
    public function testLegacyGetAssetUrl()
25
26
    {
26
 
        $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED);
27
 
 
 
27
        $extension = $this->createExtension(new Package(new StaticVersionStrategy('22', '%s?version=%s')));
 
28
 
 
29
        $this->assertEquals('me.png?version=42', $extension->getAssetUrl('me.png', null, false, '42'));
 
30
        $this->assertEquals('http://localhost/me.png?version=22', $extension->getAssetUrl('me.png', null, true));
 
31
        $this->assertEquals('http://localhost/me.png?version=42', $extension->getAssetUrl('me.png', null, true, '42'));
 
32
    }
 
33
 
 
34
    /**
 
35
     * @group legacy
 
36
     */
 
37
    public function testGetAssetUrlWithPackageSubClass()
 
38
    {
 
39
        $extension = $this->createExtension(new PathPackage('foo', new StaticVersionStrategy('22', '%s?version=%s')));
 
40
 
 
41
        $this->assertEquals('/foo/me.png?version=42', $extension->getAssetUrl('me.png', null, false, 42));
 
42
    }
 
43
 
 
44
    private function createExtension(Package $package)
 
45
    {
28
46
        $foundationExtension = $this->getMockBuilder('Symfony\Bridge\Twig\Extension\HttpFoundationExtension')->disableOriginalConstructor()->getMock();
29
47
        $foundationExtension
30
48
            ->expects($this->any())
32
50
            ->will($this->returnCallback(function ($arg) { return 'http://localhost/'.$arg; }))
33
51
        ;
34
52
 
35
 
        $package = new Package(new StaticVersionStrategy('22', '%s?version=%s'));
36
 
        $packages = new Packages($package);
37
 
        $extension = new AssetExtension($packages, $foundationExtension);
38
 
 
39
 
        $this->assertEquals('me.png?version=42', $extension->getAssetUrl('me.png', null, false, '42'));
40
 
        $this->assertEquals('http://localhost/me.png?version=22', $extension->getAssetUrl('me.png', null, true));
41
 
        $this->assertEquals('http://localhost/me.png?version=42', $extension->getAssetUrl('me.png', null, true, '42'));
 
53
        return new AssetExtension(new Packages($package), $foundationExtension);
42
54
    }
43
55
}