@@ 101-137 (lines=37) @@ | ||
98 | $pass->process($container); |
|
99 | } |
|
100 | ||
101 | public function testEventListener() |
|
102 | { |
|
103 | $container = $this->getContainer(); |
|
104 | ||
105 | $def = new Definition('Foo'); |
|
106 | $def->addTag('jms_serializer.event_listener', [ |
|
107 | 'event' => 'serializer.pre_serialize', |
|
108 | 'class' => 'Bar', |
|
109 | ]); |
|
110 | ||
111 | $container->setDefinition('my_listener', $def); |
|
112 | ||
113 | $pass = new RegisterEventListenersAndSubscribersPass(); |
|
114 | $pass->process($container); |
|
115 | ||
116 | $dispatcher = $container->getDefinition('jms_serializer.event_dispatcher'); |
|
117 | $methodCalls = $dispatcher->getMethodCalls(); |
|
118 | ||
119 | $called = false; |
|
120 | foreach ($methodCalls as $call) { |
|
121 | if ($call[0] === 'setListeners') { |
|
122 | $called = true; |
|
123 | $this->assertEquals([ |
|
124 | 'serializer.pre_serialize' => [ |
|
125 | [ |
|
126 | ['my_listener', 'onserializerpreserialize'], |
|
127 | 'bar', |
|
128 | null |
|
129 | ] |
|
130 | ]], $call[1][0]); |
|
131 | } |
|
132 | } |
|
133 | ||
134 | if (!$called) { |
|
135 | $this->fail("The method setListeners was not invoked on the jms_serializer.event_dispatcher"); |
|
136 | } |
|
137 | } |
|
138 | ||
139 | public function testEventListenerWithParams() |
|
140 | { |
|
@@ 139-177 (lines=39) @@ | ||
136 | } |
|
137 | } |
|
138 | ||
139 | public function testEventListenerWithParams() |
|
140 | { |
|
141 | $container = $this->getContainer(); |
|
142 | ||
143 | $container->setParameter('bar', 'Bar'); |
|
144 | ||
145 | $def = new Definition('Foo'); |
|
146 | $def->addTag('jms_serializer.event_listener', [ |
|
147 | 'event' => 'serializer.pre_serialize', |
|
148 | 'class' => '%bar%', |
|
149 | ]); |
|
150 | ||
151 | $container->setDefinition('my_listener', $def); |
|
152 | ||
153 | $pass = new RegisterEventListenersAndSubscribersPass(); |
|
154 | $pass->process($container); |
|
155 | ||
156 | $dispatcher = $container->getDefinition('jms_serializer.event_dispatcher'); |
|
157 | $methodCalls = $dispatcher->getMethodCalls(); |
|
158 | ||
159 | $called = false; |
|
160 | foreach ($methodCalls as $call) { |
|
161 | if ($call[0] === 'setListeners') { |
|
162 | $called = true; |
|
163 | $this->assertEquals([ |
|
164 | 'serializer.pre_serialize' => [ |
|
165 | [ |
|
166 | ['my_listener', 'onserializerpreserialize'], |
|
167 | 'bar', |
|
168 | null |
|
169 | ] |
|
170 | ]], $call[1][0]); |
|
171 | } |
|
172 | } |
|
173 | ||
174 | if (!$called) { |
|
175 | $this->fail("The method setListeners was not invoked on the jms_serializer.event_dispatcher"); |
|
176 | } |
|
177 | } |
|
178 | ||
179 | public function testEventSubscriber() |
|
180 | { |