@@ -26,6 +26,9 @@ protected function setUp()
26
26
$ this ->container = new ContainerBuilder ();
27
27
$ this ->dataCollectorTranslatorPass = new DataCollectorTranslatorPass ();
28
28
29
+ $ this ->container ->setParameter ('translator_implementing_bag ' , 'Symfony\Component\Translation\Translator ' );
30
+ $ this ->container ->setParameter ('translator_not_implementing_bag ' , 'Symfony\Bundle\FrameworkBundle\Tests\DependencyInjection\Compiler\TranslatorWithTranslatorBag ' );
31
+
29
32
$ this ->container ->register ('translator.data_collector ' , 'Symfony\Component\Translation\DataCollectorTranslator ' )
30
33
->setPublic (false )
31
34
->setDecoratedService ('translator ' )
@@ -37,41 +40,69 @@ protected function setUp()
37
40
;
38
41
}
39
42
40
- public function testProcessKeepsDataCollectorTranslatorIfItImplementsTranslatorBagInterface ()
43
+ /**
44
+ * @dataProvider getImplementingTranslatorBagInterfaceTranslatorClassNames
45
+ */
46
+ public function testProcessKeepsDataCollectorTranslatorIfItImplementsTranslatorBagInterface ($ class )
41
47
{
42
- $ this ->container ->register ('translator ' , ' Symfony\Component\Translation\Translator ' );
48
+ $ this ->container ->register ('translator ' , $ class );
43
49
44
50
$ this ->dataCollectorTranslatorPass ->process ($ this ->container );
45
51
46
52
$ this ->assertTrue ($ this ->container ->hasDefinition ('translator.data_collector ' ));
47
53
}
48
54
49
- public function testProcessKeepsDataCollectorIfTranslatorImplementsTranslatorBagInterface ()
55
+ /**
56
+ * @dataProvider getImplementingTranslatorBagInterfaceTranslatorClassNames
57
+ */
58
+ public function testProcessKeepsDataCollectorIfTranslatorImplementsTranslatorBagInterface ($ class )
50
59
{
51
- $ this ->container ->register ('translator ' , ' Symfony\Component\Translation\Translator ' );
60
+ $ this ->container ->register ('translator ' , $ class );
52
61
53
62
$ this ->dataCollectorTranslatorPass ->process ($ this ->container );
54
63
55
64
$ this ->assertTrue ($ this ->container ->hasDefinition ('data_collector.translation ' ));
56
65
}
57
66
58
- public function testProcessRemovesDataCollectorTranslatorIfItDoesNotImplementTranslatorBagInterface ()
67
+ public function getImplementingTranslatorBagInterfaceTranslatorClassNames ()
68
+ {
69
+ return array (
70
+ array ('Symfony\Component\Translation\Translator ' ),
71
+ array ('%translator_implementing_bag% ' ),
72
+ );
73
+ }
74
+
75
+ /**
76
+ * @dataProvider getNotImplementingTranslatorBagInterfaceTranslatorClassNames
77
+ */
78
+ public function testProcessRemovesDataCollectorTranslatorIfItDoesNotImplementTranslatorBagInterface ($ class )
59
79
{
60
- $ this ->container ->register ('translator ' , ' Symfony\Bundle\FrameworkBundle\Tests\DependencyInjection\Compiler\TranslatorWithTranslatorBag ' );
80
+ $ this ->container ->register ('translator ' , $ class );
61
81
62
82
$ this ->dataCollectorTranslatorPass ->process ($ this ->container );
63
83
64
84
$ this ->assertFalse ($ this ->container ->hasDefinition ('translator.data_collector ' ));
65
85
}
66
86
67
- public function testProcessRemovesDataCollectorIfTranslatorDoesNotImplementTranslatorBagInterface ()
87
+ /**
88
+ * @dataProvider getNotImplementingTranslatorBagInterfaceTranslatorClassNames
89
+ */
90
+ public function testProcessRemovesDataCollectorIfTranslatorDoesNotImplementTranslatorBagInterface ($ class )
68
91
{
69
- $ this ->container ->register ('translator ' , ' Symfony\Bundle\FrameworkBundle\Tests\DependencyInjection\Compiler\TranslatorWithTranslatorBag ' );
92
+ $ this ->container ->register ('translator ' , $ class );
70
93
71
94
$ this ->dataCollectorTranslatorPass ->process ($ this ->container );
72
95
73
96
$ this ->assertFalse ($ this ->container ->hasDefinition ('data_collector.translation ' ));
74
97
}
98
+
99
+ public function getNotImplementingTranslatorBagInterfaceTranslatorClassNames ()
100
+ {
101
+ return array (
102
+ array ('Symfony\Bundle\FrameworkBundle\Tests\DependencyInjection\Compiler\TranslatorWithTranslatorBag ' ),
103
+ array ('%translator_not_implementing_bag% ' ),
104
+ );
105
+ }
75
106
}
76
107
77
108
class TranslatorWithTranslatorBag implements TranslatorInterface
0 commit comments