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,21 +24,32 @@ 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
+ $ extension = $ this ->createExtension ( new Package ( new StaticVersionStrategy ( ' 22 ' , ' %s?version=%s ' )) );
27
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 ())
31
49
->method ('generateAbsoluteUrl ' )
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
}
0 commit comments