@@ -27,6 +27,9 @@ protected function setUp()
2727 $ this ->container = new ContainerBuilder ();
2828 $ this ->dataCollectorTranslatorPass = new DataCollectorTranslatorPass ();
2929
30+ $ this ->container ->setParameter ('translator_implementing_bag ' , 'Symfony\Component\Translation\Translator ' );
31+ $ this ->container ->setParameter ('translator_not_implementing_bag ' , 'Symfony\Bundle\FrameworkBundle\Tests\DependencyInjection\Compiler\TranslatorWithTranslatorBag ' );
32+
3033 $ this ->container ->register ('translator.data_collector ' , 'Symfony\Component\Translation\DataCollectorTranslator ' )
3134 ->setPublic (false )
3235 ->setDecoratedService ('translator ' )
@@ -38,41 +41,69 @@ protected function setUp()
3841 ;
3942 }
4043
41- public function testProcessKeepsDataCollectorTranslatorIfItImplementsTranslatorBagInterface ()
44+ /**
45+ * @dataProvider getImplementingTranslatorBagInterfaceTranslatorClassNames
46+ */
47+ public function testProcessKeepsDataCollectorTranslatorIfItImplementsTranslatorBagInterface ($ class )
4248 {
43- $ this ->container ->register ('translator ' , ' Symfony\Component\Translation\Translator ' );
49+ $ this ->container ->register ('translator ' , $ class );
4450
4551 $ this ->dataCollectorTranslatorPass ->process ($ this ->container );
4652
4753 $ this ->assertTrue ($ this ->container ->hasDefinition ('translator.data_collector ' ));
4854 }
4955
50- public function testProcessKeepsDataCollectorIfTranslatorImplementsTranslatorBagInterface ()
56+ /**
57+ * @dataProvider getImplementingTranslatorBagInterfaceTranslatorClassNames
58+ */
59+ public function testProcessKeepsDataCollectorIfTranslatorImplementsTranslatorBagInterface ($ class )
5160 {
52- $ this ->container ->register ('translator ' , ' Symfony\Component\Translation\Translator ' );
61+ $ this ->container ->register ('translator ' , $ class );
5362
5463 $ this ->dataCollectorTranslatorPass ->process ($ this ->container );
5564
5665 $ this ->assertTrue ($ this ->container ->hasDefinition ('data_collector.translation ' ));
5766 }
5867
59- public function testProcessRemovesDataCollectorTranslatorIfItDoesNotImplementTranslatorBagInterface ()
68+ public function getImplementingTranslatorBagInterfaceTranslatorClassNames ()
69+ {
70+ return array (
71+ array ('Symfony\Component\Translation\Translator ' ),
72+ array ('%translator_implementing_bag% ' ),
73+ );
74+ }
75+
76+ /**
77+ * @dataProvider getNotImplementingTranslatorBagInterfaceTranslatorClassNames
78+ */
79+ public function testProcessRemovesDataCollectorTranslatorIfItDoesNotImplementTranslatorBagInterface ($ class )
6080 {
61- $ this ->container ->register ('translator ' , ' Symfony\Bundle\FrameworkBundle\Tests\DependencyInjection\Compiler\TranslatorWithTranslatorBag ' );
81+ $ this ->container ->register ('translator ' , $ class );
6282
6383 $ this ->dataCollectorTranslatorPass ->process ($ this ->container );
6484
6585 $ this ->assertFalse ($ this ->container ->hasDefinition ('translator.data_collector ' ));
6686 }
6787
68- public function testProcessRemovesDataCollectorIfTranslatorDoesNotImplementTranslatorBagInterface ()
88+ /**
89+ * @dataProvider getNotImplementingTranslatorBagInterfaceTranslatorClassNames
90+ */
91+ public function testProcessRemovesDataCollectorIfTranslatorDoesNotImplementTranslatorBagInterface ($ class )
6992 {
70- $ this ->container ->register ('translator ' , ' Symfony\Bundle\FrameworkBundle\Tests\DependencyInjection\Compiler\TranslatorWithTranslatorBag ' );
93+ $ this ->container ->register ('translator ' , $ class );
7194
7295 $ this ->dataCollectorTranslatorPass ->process ($ this ->container );
7396
7497 $ this ->assertFalse ($ this ->container ->hasDefinition ('data_collector.translation ' ));
7598 }
99+
100+ public function getNotImplementingTranslatorBagInterfaceTranslatorClassNames ()
101+ {
102+ return array (
103+ array ('Symfony\Bundle\FrameworkBundle\Tests\DependencyInjection\Compiler\TranslatorWithTranslatorBag ' ),
104+ array ('%translator_not_implementing_bag% ' ),
105+ );
106+ }
76107}
77108
78109class TranslatorWithTranslatorBag implements TranslatorInterface
0 commit comments