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