11
11
12
12
namespace Symfony \Component \HttpKernel \Tests \Controller ;
13
13
14
+ use Psr \Log \LoggerInterface ;
14
15
use Symfony \Component \HttpKernel \Controller \ControllerResolver ;
15
- use Symfony \Component \HttpKernel \Tests \Logger;
16
16
use Symfony \Component \HttpFoundation \Request ;
17
17
18
18
class ControllerResolverTest extends \PHPUnit_Framework_TestCase
@@ -21,15 +21,15 @@ public function testGetControllerWithoutControllerParameter()
21
21
{
22
22
$ logger = $ this ->getMock ('Psr\Log\LoggerInterface ' );
23
23
$ logger ->expects ($ this ->once ())->method ('warning ' )->with ('Unable to look for the controller as the "_controller" parameter is missing ' );
24
- $ resolver = new ControllerResolver ($ logger );
24
+ $ resolver = $ this -> createControllerResolver ($ logger );
25
25
26
26
$ request = Request::create ('/ ' );
27
27
$ this ->assertFalse ($ resolver ->getController ($ request ), '->getController() returns false when the request has no _controller attribute ' );
28
28
}
29
29
30
30
public function testGetControllerWithLambda ()
31
31
{
32
- $ resolver = new ControllerResolver ();
32
+ $ resolver = $ this -> createControllerResolver ();
33
33
34
34
$ request = Request::create ('/ ' );
35
35
$ request ->attributes ->set ('_controller ' , $ lambda = function () {});
@@ -39,7 +39,7 @@ public function testGetControllerWithLambda()
39
39
40
40
public function testGetControllerWithObjectAndInvokeMethod ()
41
41
{
42
- $ resolver = new ControllerResolver ();
42
+ $ resolver = $ this -> createControllerResolver ();
43
43
44
44
$ request = Request::create ('/ ' );
45
45
$ request ->attributes ->set ('_controller ' , $ this );
@@ -49,7 +49,7 @@ public function testGetControllerWithObjectAndInvokeMethod()
49
49
50
50
public function testGetControllerWithObjectAndMethod ()
51
51
{
52
- $ resolver = new ControllerResolver ();
52
+ $ resolver = $ this -> createControllerResolver ();
53
53
54
54
$ request = Request::create ('/ ' );
55
55
$ request ->attributes ->set ('_controller ' , array ($ this , 'controllerMethod1 ' ));
@@ -59,7 +59,7 @@ public function testGetControllerWithObjectAndMethod()
59
59
60
60
public function testGetControllerWithClassAndMethod ()
61
61
{
62
- $ resolver = new ControllerResolver ();
62
+ $ resolver = $ this -> createControllerResolver ();
63
63
64
64
$ request = Request::create ('/ ' );
65
65
$ request ->attributes ->set ('_controller ' , array ('Symfony\Component\HttpKernel\Tests\Controller\ControllerResolverTest ' , 'controllerMethod4 ' ));
@@ -69,7 +69,7 @@ public function testGetControllerWithClassAndMethod()
69
69
70
70
public function testGetControllerWithObjectAndMethodAsString ()
71
71
{
72
- $ resolver = new ControllerResolver ();
72
+ $ resolver = $ this -> createControllerResolver ();
73
73
74
74
$ request = Request::create ('/ ' );
75
75
$ request ->attributes ->set ('_controller ' , 'Symfony\Component\HttpKernel\Tests\Controller\ControllerResolverTest::controllerMethod1 ' );
@@ -79,7 +79,7 @@ public function testGetControllerWithObjectAndMethodAsString()
79
79
80
80
public function testGetControllerWithClassAndInvokeMethod ()
81
81
{
82
- $ resolver = new ControllerResolver ();
82
+ $ resolver = $ this -> createControllerResolver ();
83
83
84
84
$ request = Request::create ('/ ' );
85
85
$ request ->attributes ->set ('_controller ' , 'Symfony\Component\HttpKernel\Tests\Controller\ControllerResolverTest ' );
@@ -92,7 +92,7 @@ public function testGetControllerWithClassAndInvokeMethod()
92
92
*/
93
93
public function testGetControllerOnObjectWithoutInvokeMethod ()
94
94
{
95
- $ resolver = new ControllerResolver ();
95
+ $ resolver = $ this -> createControllerResolver ();
96
96
97
97
$ request = Request::create ('/ ' );
98
98
$ request ->attributes ->set ('_controller ' , new \stdClass ());
@@ -101,7 +101,7 @@ public function testGetControllerOnObjectWithoutInvokeMethod()
101
101
102
102
public function testGetControllerWithFunction ()
103
103
{
104
- $ resolver = new ControllerResolver ();
104
+ $ resolver = $ this -> createControllerResolver ();
105
105
106
106
$ request = Request::create ('/ ' );
107
107
$ request ->attributes ->set ('_controller ' , 'Symfony\Component\HttpKernel\Tests\Controller\some_controller_function ' );
@@ -115,7 +115,7 @@ public function testGetControllerWithFunction()
115
115
*/
116
116
public function testGetControllerOnNonUndefinedFunction ($ controller )
117
117
{
118
- $ resolver = new ControllerResolver ();
118
+ $ resolver = $ this -> createControllerResolver ();
119
119
120
120
$ request = Request::create ('/ ' );
121
121
$ request ->attributes ->set ('_controller ' , $ controller );
@@ -134,7 +134,7 @@ public function getUndefinedControllers()
134
134
135
135
public function testGetArguments ()
136
136
{
137
- $ resolver = new ControllerResolver ();
137
+ $ resolver = $ this -> createControllerResolver ();
138
138
139
139
$ request = Request::create ('/ ' );
140
140
$ controller = array (new self (), 'testGetArguments ' );
@@ -207,6 +207,11 @@ public function testCreateControllerCanReturnAnyCallable()
207
207
$ mock ->getController ($ request );
208
208
}
209
209
210
+ protected function createControllerResolver (LoggerInterface $ logger = null )
211
+ {
212
+ return new ControllerResolver ($ logger );
213
+ }
214
+
210
215
public function __invoke ($ foo , $ bar = null )
211
216
{
212
217
}
0 commit comments