15
15
use Symfony \Component \HttpFoundation \Request ;
16
16
use Symfony \Component \HttpFoundation \RequestStack ;
17
17
use Symfony \Component \HttpKernel \Debug \FileLinkFormatter ;
18
+ use Symfony \Component \Routing \Generator \UrlGenerator ;
19
+ use Symfony \Component \Routing \RequestContext ;
20
+ use Symfony \Component \Routing \Route ;
21
+ use Symfony \Component \Routing \RouteCollection ;
18
22
19
23
class FileLinkFormatterTest extends TestCase
20
24
{
21
- public function testWhenNoFileLinkFormatAndNoRequest ()
25
+ public function testWhenNoFileLinkFormat ()
22
26
{
23
27
$ sut = new FileLinkFormatter ();
24
28
25
29
$ this ->assertFalse ($ sut ->format ('/kernel/root/src/my/very/best/file.php ' , 3 ));
26
30
}
27
31
28
- public function testWhenFileLinkFormatAndNoRequest ()
32
+ public function testWhenFileLinkFormat ()
29
33
{
30
34
$ file = __DIR__ .DIRECTORY_SEPARATOR .'file.php ' ;
31
35
32
- $ sut = new FileLinkFormatter ('debug://open?url=file://%f&line=%l ' , new RequestStack () );
36
+ $ sut = new FileLinkFormatter ('debug://open?url=file://%f&line=%l ' );
33
37
34
38
$ this ->assertSame ("debug://open?url=file:// $ file&line=3 " , $ sut ->format ($ file , 3 ));
35
39
}
36
40
37
- public function testWhenFileLinkFormatAndRequest ()
41
+ public function testWhenFileLinkFormatAndRequestStack ()
38
42
{
39
43
$ file = __DIR__ .DIRECTORY_SEPARATOR .'file.php ' ;
40
44
$ baseDir = __DIR__ ;
@@ -47,21 +51,33 @@ public function testWhenFileLinkFormatAndRequest()
47
51
$ this ->assertSame ("debug://open?url=file:// $ file&line=3 " , $ sut ->format ($ file , 3 ));
48
52
}
49
53
50
- public function testWhenNoFileLinkFormatAndRequest ()
54
+ public function testWhenFileLinkFormatAndRouter ()
51
55
{
52
56
$ file = __DIR__ .DIRECTORY_SEPARATOR .'file.php ' ;
53
- $ requestStack = new RequestStack ();
54
- $ request = new Request ();
55
- $ requestStack ->push ($ request );
57
+ $ baseDir = __DIR__ ;
58
+ $ router = $ this ->getRouter ();
56
59
57
- $ request ->server ->set ('SERVER_NAME ' , 'www.example.org ' );
58
- $ request ->server ->set ('SERVER_PORT ' , 80 );
59
- $ request ->server ->set ('SCRIPT_NAME ' , '/app.php ' );
60
- $ request ->server ->set ('SCRIPT_FILENAME ' , '/web/app.php ' );
61
- $ request ->server ->set ('REQUEST_URI ' , '/app.php/example ' );
60
+ $ sut = new FileLinkFormatter ('debug://open?url=file://%f&line=%l ' , null , $ baseDir , '/_profiler/open?file=%f&line=%l#line%l ' , $ router );
62
61
63
- $ sut = new FileLinkFormatter (null , $ requestStack , __DIR__ , '/_profiler/open?file=%f&line=%l#line%l ' );
62
+ $ this ->assertSame ("debug://open?url=file:// $ file&line=3 " , $ sut ->format ($ file , 3 ));
63
+ }
64
+
65
+ public function testWhenNoFileLinkFormatAndRouter ()
66
+ {
67
+ $ file = __DIR__ .DIRECTORY_SEPARATOR .'file.php ' ;
68
+ $ baseDir = __DIR__ ;
69
+ $ router = $ this ->getRouter ();
70
+
71
+ $ sut = new FileLinkFormatter (null , null , $ baseDir , '?file=%f&line=%l#line%l ' , $ router );
72
+
73
+ $ this ->assertSame ('/_profiler_customized?file=file.php&line=3#line3 ' , $ sut ->format ($ file , 3 ));
74
+ }
75
+
76
+ private function getRouter ()
77
+ {
78
+ $ routes = new RouteCollection ();
79
+ $ routes ->add ('_profiler_open_file ' , new Route ('/_profiler_customized ' ));
64
80
65
- $ this -> assertSame ( ' http://www.example.org/app.php/_profiler/open?file=file.php&line=3#line3 ' , $ sut -> format ( $ file , 3 ));
81
+ return new UrlGenerator ( $ routes , new RequestContext ( ));
66
82
}
67
83
}
0 commit comments