12
12
namespace Symfony \Bridge \Twig \Tests \EventListener ;
13
13
14
14
use PHPUnit \Framework \TestCase ;
15
+ use Symfony \Bridge \Twig \Attribute \Template ;
15
16
use Symfony \Bridge \Twig \EventListener \TemplateAttributeListener ;
16
17
use Symfony \Bridge \Twig \Tests \Fixtures \TemplateAttributeController ;
17
18
use Symfony \Component \Form \FormInterface ;
@@ -26,11 +27,12 @@ class TemplateAttributeListenerTest extends TestCase
26
27
public function testAttribute ()
27
28
{
28
29
$ twig = $ this ->createMock (Environment::class);
29
- $ twig ->expects ($ this ->exactly (2 ))
30
+ $ twig ->expects ($ this ->exactly (3 ))
30
31
->method ('render ' )
31
32
->withConsecutive (
32
33
['templates/foo.html.twig ' , ['foo ' => 'bar ' ]],
33
- ['templates/foo.html.twig ' , ['bar ' => 'Bar ' , 'buz ' => 'def ' ]]
34
+ ['templates/foo.html.twig ' , ['bar ' => 'Bar ' , 'buz ' => 'def ' ]],
35
+ ['templates/foo.html.twig ' , []],
34
36
)
35
37
->willReturn ('Bar ' );
36
38
@@ -50,6 +52,11 @@ public function testAttribute()
50
52
$ event = new ViewEvent ($ kernel , $ request , HttpKernelInterface::MAIN_REQUEST , null );
51
53
$ listener ->onKernelView ($ event );
52
54
$ this ->assertNull ($ event ->getResponse ());
55
+
56
+ $ request ->attributes ->set ('_template ' , new Template ('templates/foo.html.twig ' ));
57
+ $ event = new ViewEvent ($ kernel , $ request , HttpKernelInterface::MAIN_REQUEST , []);
58
+ $ listener ->onKernelView ($ event );
59
+ $ this ->assertSame ('Bar ' , $ event ->getResponse ()->getContent ());
53
60
}
54
61
55
62
public function testForm ()
0 commit comments