@@ -26,6 +26,9 @@ protected function setUp()
2626 $ this ->container = new ContainerBuilder ();
2727 $ this ->dataCollectorTranslatorPass = new DataCollectorTranslatorPass ();
2828
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+
2932 $ this ->container ->register ('translator.data_collector ' , 'Symfony\Component\Translation\DataCollectorTranslator ' )
3033 ->setPublic (false )
3134 ->setDecoratedService ('translator ' )
@@ -37,41 +40,69 @@ protected function setUp()
3740 ;
3841 }
3942
40- public function testProcessKeepsDataCollectorTranslatorIfItImplementsTranslatorBagInterface ()
43+ /**
44+ * @dataProvider getImplementingTranslatorBagInterfaceTranslatorClassNames
45+ */
46+ public function testProcessKeepsDataCollectorTranslatorIfItImplementsTranslatorBagInterface ($ class )
4147 {
42- $ this ->container ->register ('translator ' , ' Symfony\Component\Translation\Translator ' );
48+ $ this ->container ->register ('translator ' , $ class );
4349
4450 $ this ->dataCollectorTranslatorPass ->process ($ this ->container );
4551
4652 $ this ->assertTrue ($ this ->container ->hasDefinition ('translator.data_collector ' ));
4753 }
4854
49- public function testProcessKeepsDataCollectorIfTranslatorImplementsTranslatorBagInterface ()
55+ /**
56+ * @dataProvider getImplementingTranslatorBagInterfaceTranslatorClassNames
57+ */
58+ public function testProcessKeepsDataCollectorIfTranslatorImplementsTranslatorBagInterface ($ class )
5059 {
51- $ this ->container ->register ('translator ' , ' Symfony\Component\Translation\Translator ' );
60+ $ this ->container ->register ('translator ' , $ class );
5261
5362 $ this ->dataCollectorTranslatorPass ->process ($ this ->container );
5463
5564 $ this ->assertTrue ($ this ->container ->hasDefinition ('data_collector.translation ' ));
5665 }
5766
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 )
5979 {
60- $ this ->container ->register ('translator ' , ' Symfony\Bundle\FrameworkBundle\Tests\DependencyInjection\Compiler\TranslatorWithTranslatorBag ' );
80+ $ this ->container ->register ('translator ' , $ class );
6181
6282 $ this ->dataCollectorTranslatorPass ->process ($ this ->container );
6383
6484 $ this ->assertFalse ($ this ->container ->hasDefinition ('translator.data_collector ' ));
6585 }
6686
67- public function testProcessRemovesDataCollectorIfTranslatorDoesNotImplementTranslatorBagInterface ()
87+ /**
88+ * @dataProvider getNotImplementingTranslatorBagInterfaceTranslatorClassNames
89+ */
90+ public function testProcessRemovesDataCollectorIfTranslatorDoesNotImplementTranslatorBagInterface ($ class )
6891 {
69- $ this ->container ->register ('translator ' , ' Symfony\Bundle\FrameworkBundle\Tests\DependencyInjection\Compiler\TranslatorWithTranslatorBag ' );
92+ $ this ->container ->register ('translator ' , $ class );
7093
7194 $ this ->dataCollectorTranslatorPass ->process ($ this ->container );
7295
7396 $ this ->assertFalse ($ this ->container ->hasDefinition ('data_collector.translation ' ));
7497 }
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+ }
75106}
76107
77108class TranslatorWithTranslatorBag implements TranslatorInterface
0 commit comments