3
3
namespace Symfony \Cmf \Bundle \RoutingBundle \Tests \Functional \Controller ;
4
4
5
5
use PHPCR \Util \PathHelper ;
6
- use Symfony \Cmf \Bundle \RoutingBundle \Tests \Functional \BaseTestCase ;
7
6
8
7
use Symfony \Component \HttpFoundation \RedirectResponse ;
9
8
10
9
use Symfony \Cmf \Bundle \RoutingBundle \Doctrine \Phpcr \Route ;
11
10
use Symfony \Cmf \Bundle \RoutingBundle \Doctrine \Phpcr \RedirectRoute ;
12
11
use Symfony \Cmf \Bundle \RoutingBundle \Controller \RedirectController ;
12
+ use Symfony \Cmf \Component \Testing \Functional \BaseTestCase ;
13
+ use Symfony \Cmf \Component \Testing \Document \Content ;
14
+ use PHPCR \Util \NodeHelper ;
13
15
14
16
class RedirectControllerTest extends BaseTestCase
15
17
{
@@ -18,32 +20,36 @@ class RedirectControllerTest extends BaseTestCase
18
20
/**
19
21
* @var \Symfony\Cmf\Bundle\RoutingBundle\Controller\RedirectController
20
22
*/
21
- protected static $ controller ;
23
+ protected $ controller ;
22
24
23
- public static function setupBeforeClass ( array $ options = array (), $ routebase = null )
25
+ public function setUp ( )
24
26
{
25
- parent ::setupBeforeClass (array (), PathHelper::getNodeName (self ::ROUTE_ROOT ));
26
- $ router = self ::$ kernel ->getContainer ()->get ('router ' );
27
- self ::$ controller = new RedirectController ($ router );
27
+ parent ::setUp ();
28
+ $ this ->db ('PHPCR ' )->createTestNode ();
29
+ $ this ->db ('PHPCR ' )->createPath (self ::ROUTE_ROOT );
30
+ $ this ->dm = $ this ->db ('PHPCR ' )->getOm ();
31
+
32
+ $ router = $ this ->getContainer ()->get ('router ' );
33
+ $ this ->controller = new RedirectController ($ router );
28
34
}
29
35
30
36
public function testRedirectUri ()
31
37
{
32
- $ root = self :: $ dm ->find (null , self ::ROUTE_ROOT );
38
+ $ root = $ this -> dm ->find (null , self ::ROUTE_ROOT );
33
39
34
40
$ redirect = new RedirectRoute ;
35
41
$ redirect ->setPosition ($ root , 'redirectUri ' );
36
42
$ redirect ->setUri ('http://example.com/test-url ' );
37
43
$ redirect ->setParameters (array ('test ' => 7 )); // parameters should be ignored in this case
38
44
$ redirect ->setPermanent (true );
39
- self :: $ dm ->persist ($ redirect );
45
+ $ this -> dm ->persist ($ redirect );
40
46
41
- self :: $ dm ->flush ();
47
+ $ this -> dm ->flush ();
42
48
43
- self :: $ dm ->clear ();
49
+ $ this -> dm ->clear ();
44
50
45
- $ redirect = self :: $ dm ->find (null , self ::ROUTE_ROOT .'/redirectUri ' );
46
- $ response = self :: $ controller ->redirectAction ($ redirect );
51
+ $ redirect = $ this -> dm ->find (null , self ::ROUTE_ROOT .'/redirectUri ' );
52
+ $ response = $ this -> controller ->redirectAction ($ redirect );
47
53
48
54
$ this ->assertInstanceOf ('Symfony\Component\HttpFoundation\RedirectResponse ' , $ response );
49
55
$ this ->assertSame (301 , $ response ->getStatusCode ());
@@ -52,25 +58,31 @@ public function testRedirectUri()
52
58
53
59
public function testRedirectContent ()
54
60
{
55
- $ root = self ::$ dm ->find (null , self ::ROUTE_ROOT );
61
+ $ root = $ this ->dm ->find (null , self ::ROUTE_ROOT );
62
+
63
+ $ content = new Content ;
64
+ $ content ->setId ('/test/content ' );
65
+ $ content ->setTitle ('Foo Content ' );
66
+ $ this ->dm ->persist ($ content );
67
+ $ this ->dm ->flush ();
56
68
57
69
$ route = new Route ;
58
- $ route ->setContent ($ root ); // this happens to be a referenceable node
70
+ $ route ->setContent ($ content );
59
71
$ route ->setPosition ($ root , 'testroute ' );
60
- self :: $ dm ->persist ($ route );
72
+ $ this -> dm ->persist ($ route );
61
73
62
74
$ redirect = new RedirectRoute ;
63
75
$ redirect ->setPosition ($ root , 'redirectContent ' );
64
76
$ redirect ->setRouteTarget ($ route );
65
77
$ redirect ->setParameters (array ('test ' => 'content ' ));
66
- self :: $ dm ->persist ($ redirect );
78
+ $ this -> dm ->persist ($ redirect );
67
79
68
- self :: $ dm ->flush ();
80
+ $ this -> dm ->flush ();
69
81
70
- self :: $ dm ->clear ();
82
+ $ this -> dm ->clear ();
71
83
72
- $ redirect = self :: $ dm ->find (null , self ::ROUTE_ROOT .'/redirectContent ' );
73
- $ response = self :: $ controller ->redirectAction ($ redirect );
84
+ $ redirect = $ this -> dm ->find (null , self ::ROUTE_ROOT .'/redirectContent ' );
85
+ $ response = $ this -> controller ->redirectAction ($ redirect );
74
86
75
87
$ this ->assertInstanceOf ('Symfony \\Component \\HttpFoundation \\RedirectResponse ' , $ response );
76
88
$ this ->assertSame (302 , $ response ->getStatusCode ());
@@ -79,21 +91,20 @@ public function testRedirectContent()
79
91
80
92
public function testRedirectName ()
81
93
{
82
- $ root = self :: $ dm ->find (null , self ::ROUTE_ROOT );
94
+ $ root = $ this -> dm ->find (null , self ::ROUTE_ROOT );
83
95
84
96
$ redirect = new RedirectRoute ;
85
97
$ redirect ->setPosition ($ root , 'redirectName ' );
86
98
$ redirect ->setRouteName ('symfony_route ' );
87
99
$ redirect ->setParameters (array ('param ' =>7 )); // parameters should be ignored in this case
88
- self ::$ dm ->persist ($ redirect );
89
-
90
- self ::$ dm ->flush ();
100
+ $ this ->dm ->persist ($ redirect );
91
101
92
- self :: $ dm ->clear ();
102
+ $ this -> dm ->flush ();
93
103
94
- $ redirect = self ::$ dm ->find (null , self ::ROUTE_ROOT .'/redirectName ' );
95
- $ response = self ::$ controller ->redirectAction ($ redirect );
104
+ $ this ->dm ->clear ();
96
105
106
+ $ redirect = $ this ->dm ->find (null , self ::ROUTE_ROOT .'/redirectName ' );
107
+ $ response = $ this ->controller ->redirectAction ($ redirect );
97
108
$ this ->assertInstanceOf ('Symfony \\Component \\HttpFoundation \\RedirectResponse ' , $ response );
98
109
$ this ->assertSame (302 , $ response ->getStatusCode ());
99
110
$ this ->assertSame ('http://localhost/symfony_route_test?param=7 ' , $ response ->getTargetUrl ());
0 commit comments