13
13
14
14
use PHPUnit \Framework \TestCase ;
15
15
use Symfony \Component \DependencyInjection \ContainerBuilder ;
16
+ use Symfony \Component \DependencyInjection \Definition ;
16
17
use Symfony \Component \DependencyInjection \Dumper \GraphvizDumper ;
18
+ use Symfony \Component \DependencyInjection \Reference ;
17
19
18
20
class GraphvizDumperTest extends TestCase
19
21
{
@@ -32,11 +34,11 @@ public function testDump()
32
34
33
35
$ container = include self ::$ fixturesPath .'/containers/container9.php ' ;
34
36
$ dumper = new GraphvizDumper ($ container );
35
- $ this ->assertEquals ( str_replace ( ' %path% ' , __DIR__ , file_get_contents ( self ::$ fixturesPath .'/graphviz/services9.dot ' )) , $ dumper ->dump (), '->dump() dumps services ' );
37
+ $ this ->assertStringEqualsFile ( self ::$ fixturesPath .'/graphviz/services9.dot ' , $ dumper ->dump (), '->dump() dumps services ' );
36
38
37
39
$ container = include self ::$ fixturesPath .'/containers/container10.php ' ;
38
40
$ dumper = new GraphvizDumper ($ container );
39
- $ this ->assertEquals ( str_replace ( ' %path% ' , __DIR__ , file_get_contents ( self ::$ fixturesPath .'/graphviz/services10.dot ' )) , $ dumper ->dump (), '->dump() dumps services ' );
41
+ $ this ->assertStringEqualsFile ( self ::$ fixturesPath .'/graphviz/services10.dot ' , $ dumper ->dump (), '->dump() dumps services ' );
40
42
41
43
$ container = include self ::$ fixturesPath .'/containers/container10.php ' ;
42
44
$ dumper = new GraphvizDumper ($ container );
@@ -47,28 +49,40 @@ public function testDump()
47
49
'node.instance ' => array ('fillcolor ' => 'green ' , 'style ' => 'empty ' ),
48
50
'node.definition ' => array ('fillcolor ' => 'grey ' ),
49
51
'node.missing ' => array ('fillcolor ' => 'red ' , 'style ' => 'empty ' ),
50
- )), str_replace ( ' %path% ' , __DIR__ , file_get_contents (self ::$ fixturesPath .'/graphviz/services10-1.dot ' ) ), '->dump() dumps services ' );
52
+ )), file_get_contents (self ::$ fixturesPath .'/graphviz/services10-1.dot ' ), '->dump() dumps services ' );
51
53
}
52
54
53
55
public function testDumpWithFrozenContainer ()
54
56
{
55
57
$ container = include self ::$ fixturesPath .'/containers/container13.php ' ;
56
58
$ dumper = new GraphvizDumper ($ container );
57
- $ this ->assertEquals ( str_replace ( ' %path% ' , __DIR__ , file_get_contents ( self ::$ fixturesPath .'/graphviz/services13.dot ' )) , $ dumper ->dump (), '->dump() dumps services ' );
59
+ $ this ->assertStringEqualsFile ( self ::$ fixturesPath .'/graphviz/services13.dot ' , $ dumper ->dump (), '->dump() dumps services ' );
58
60
}
59
61
60
62
public function testDumpWithFrozenCustomClassContainer ()
61
63
{
62
64
$ container = include self ::$ fixturesPath .'/containers/container14.php ' ;
63
65
$ dumper = new GraphvizDumper ($ container );
64
- $ this ->assertEquals ( str_replace ( ' %path% ' , __DIR__ , file_get_contents ( self ::$ fixturesPath .'/graphviz/services14.dot ' )) , $ dumper ->dump (), '->dump() dumps services ' );
66
+ $ this ->assertStringEqualsFile ( self ::$ fixturesPath .'/graphviz/services14.dot ' , $ dumper ->dump (), '->dump() dumps services ' );
65
67
}
66
68
67
69
public function testDumpWithUnresolvedParameter ()
68
70
{
69
71
$ container = include self ::$ fixturesPath .'/containers/container17.php ' ;
70
72
$ dumper = new GraphvizDumper ($ container );
71
73
72
- $ this ->assertEquals (str_replace ('%path% ' , __DIR__ , file_get_contents (self ::$ fixturesPath .'/graphviz/services17.dot ' )), $ dumper ->dump (), '->dump() dumps services ' );
74
+ $ this ->assertStringEqualsFile (self ::$ fixturesPath .'/graphviz/services17.dot ' , $ dumper ->dump (), '->dump() dumps services ' );
75
+ }
76
+
77
+ public function testDumpWithInlineDefinition ()
78
+ {
79
+ $ container = new ContainerBuilder ();
80
+ $ container ->register ('foo ' , 'stdClass ' )->addArgument (
81
+ (new Definition ('stdClass ' ))->addArgument (new Reference ('bar ' ))
82
+ );
83
+ $ container ->register ('bar ' , 'stdClass ' );
84
+ $ dumper = new GraphvizDumper ($ container );
85
+
86
+ $ this ->assertStringEqualsFile (self ::$ fixturesPath .'/graphviz/services_inline.dot ' , $ dumper ->dump (), '->dump() dumps nested references ' );
73
87
}
74
88
}
0 commit comments