13
13
14
14
use Symfony \Component \HttpFoundation \Request ;
15
15
use Symfony \Component \HttpKernel \Controller \ControllerReference ;
16
- use Symfony \Component \HttpKernel \Fragment \RoutableFragmentRenderer ;
17
16
18
17
class RoutableFragmentRendererTest extends \PHPUnit_Framework_TestCase
19
18
{
@@ -22,7 +21,7 @@ class RoutableFragmentRendererTest extends \PHPUnit_Framework_TestCase
22
21
*/
23
22
public function testGenerateFragmentUri ($ uri , $ controller )
24
23
{
25
- $ this ->assertEquals ($ uri , $ this ->getRenderer ()-> doGenerateFragmentUri ($ controller , Request::create ('/ ' )));
24
+ $ this ->assertEquals ($ uri , $ this ->callGenerateFragmentUriMethod ($ controller , Request::create ('/ ' )));
26
25
}
27
26
28
27
public function getGenerateFragmentUriData ()
@@ -33,6 +32,7 @@ public function getGenerateFragmentUriData()
33
32
array ('http://localhost/_fragment?_path=foo%3Dfoo%26_format%3Djson%26_controller%3Dcontroller ' , new ControllerReference ('controller ' , array ('foo ' => 'foo ' , '_format ' => 'json ' ), array ())),
34
33
array ('http://localhost/_fragment?bar=bar&_path=foo%3Dfoo%26_format%3Dhtml%26_controller%3Dcontroller ' , new ControllerReference ('controller ' , array ('foo ' => 'foo ' ), array ('bar ' => 'bar ' ))),
35
34
array ('http://localhost/_fragment?foo=foo&_path=_format%3Dhtml%26_controller%3Dcontroller ' , new ControllerReference ('controller ' , array (), array ('foo ' => 'foo ' ))),
35
+ array ('http://localhost/_fragment?_path=foo%255B0%255D%3Dfoo%26foo%255B1%255D%3Dbar%26_format%3Dhtml%26_controller%3Dcontroller ' , new ControllerReference ('controller ' , array ('foo ' => array ('foo ' , 'bar ' )), array ())),
36
36
);
37
37
}
38
38
@@ -42,22 +42,36 @@ public function testGenerateFragmentUriWithARequest()
42
42
$ request ->attributes ->set ('_format ' , 'json ' );
43
43
$ controller = new ControllerReference ('controller ' , array (), array ());
44
44
45
- $ this ->assertEquals ('http://localhost/_fragment?_path=_format%3Djson%26_controller%3Dcontroller ' , $ this ->getRenderer ()-> doGenerateFragmentUri ($ controller , $ request ));
45
+ $ this ->assertEquals ('http://localhost/_fragment?_path=_format%3Djson%26_controller%3Dcontroller ' , $ this ->callGenerateFragmentUriMethod ($ controller , $ request ));
46
46
}
47
47
48
- private function getRenderer ()
48
+ /**
49
+ * @expectedException LogicException
50
+ */
51
+ public function testGenerateFragmentUriWithObject ()
49
52
{
50
- return new Renderer ();
53
+ $ controller = new ControllerReference ('controller ' , array ('foo ' => new Foo (), 'bar ' => 'bar ' ), array ());
54
+
55
+ $ this ->callGenerateFragmentUriMethod ($ controller , Request::create ('/ ' ));
56
+ }
57
+
58
+ private function callGenerateFragmentUriMethod (ControllerReference $ reference , Request $ request )
59
+ {
60
+ $ renderer = $ this ->getMockForAbstractClass ('Symfony\Component\HttpKernel\Fragment\RoutableFragmentRenderer ' );
61
+ $ r = new \ReflectionObject ($ renderer );
62
+ $ m = $ r ->getMethod ('generateFragmentUri ' );
63
+ $ m ->setAccessible (true );
64
+
65
+ return $ m ->invoke ($ renderer , $ reference , $ request );
51
66
}
52
67
}
53
68
54
- class Renderer extends RoutableFragmentRenderer
69
+ class Foo
55
70
{
56
- public function render ($ uri , Request $ request , array $ options = array ()) {}
57
- public function getName () {}
71
+ public $ foo ;
58
72
59
- public function doGenerateFragmentUri ( ControllerReference $ reference , Request $ request )
73
+ public function getFoo ( )
60
74
{
61
- return parent :: generateFragmentUri ( $ reference , $ request ) ;
75
+ return $ this -> foo ;
62
76
}
63
77
}
0 commit comments