|
12 | 12 | namespace Symfony\Component\EventDispatcher\Tests\Debug;
|
13 | 13 |
|
14 | 14 | use PHPUnit\Framework\TestCase;
|
| 15 | +use Symfony\Component\ErrorHandler\BufferingLogger; |
15 | 16 | use Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher;
|
16 | 17 | use Symfony\Component\EventDispatcher\EventDispatcher;
|
17 | 18 | use Symfony\Component\EventDispatcher\EventDispatcherInterface;
|
@@ -192,41 +193,57 @@ public function testItDoesNotReturnHandledEvents()
|
192 | 193 |
|
193 | 194 | public function testLogger()
|
194 | 195 | {
|
195 |
| - $logger = $this->getMockBuilder('Psr\Log\LoggerInterface')->getMock(); |
| 196 | + $logger = new BufferingLogger(); |
196 | 197 |
|
197 | 198 | $dispatcher = new EventDispatcher();
|
198 | 199 | $tdispatcher = new TraceableEventDispatcher($dispatcher, new Stopwatch(), $logger);
|
199 | 200 | $tdispatcher->addListener('foo', $listener1 = function () {});
|
200 | 201 | $tdispatcher->addListener('foo', $listener2 = function () {});
|
201 | 202 |
|
202 |
| - $logger->expects($this->exactly(2)) |
203 |
| - ->method('debug') |
204 |
| - ->withConsecutive( |
205 |
| - ['Notified event "{event}" to listener "{listener}".', ['event' => 'foo', 'listener' => 'closure']], |
206 |
| - ['Notified event "{event}" to listener "{listener}".', ['event' => 'foo', 'listener' => 'closure']] |
207 |
| - ); |
208 |
| - |
209 | 203 | $tdispatcher->dispatch(new Event(), 'foo');
|
| 204 | + |
| 205 | + $this->assertSame([ |
| 206 | + [ |
| 207 | + 'debug', |
| 208 | + 'Notified event "{event}" to listener "{listener}".', |
| 209 | + ['event' => 'foo', 'listener' => 'closure'], |
| 210 | + ], |
| 211 | + [ |
| 212 | + 'debug', |
| 213 | + 'Notified event "{event}" to listener "{listener}".', |
| 214 | + ['event' => 'foo', 'listener' => 'closure'], |
| 215 | + ], |
| 216 | + ], $logger->cleanLogs()); |
210 | 217 | }
|
211 | 218 |
|
212 | 219 | public function testLoggerWithStoppedEvent()
|
213 | 220 | {
|
214 |
| - $logger = $this->getMockBuilder('Psr\Log\LoggerInterface')->getMock(); |
| 221 | + $logger = new BufferingLogger(); |
215 | 222 |
|
216 | 223 | $dispatcher = new EventDispatcher();
|
217 | 224 | $tdispatcher = new TraceableEventDispatcher($dispatcher, new Stopwatch(), $logger);
|
218 | 225 | $tdispatcher->addListener('foo', $listener1 = function (Event $event) { $event->stopPropagation(); });
|
219 | 226 | $tdispatcher->addListener('foo', $listener2 = function () {});
|
220 | 227 |
|
221 |
| - $logger->expects($this->exactly(3)) |
222 |
| - ->method('debug') |
223 |
| - ->withConsecutive( |
224 |
| - ['Notified event "{event}" to listener "{listener}".', ['event' => 'foo', 'listener' => 'closure']], |
225 |
| - ['Listener "{listener}" stopped propagation of the event "{event}".', ['event' => 'foo', 'listener' => 'closure']], |
226 |
| - ['Listener "{listener}" was not called for event "{event}".', ['event' => 'foo', 'listener' => 'closure']] |
227 |
| - ); |
228 |
| - |
229 | 228 | $tdispatcher->dispatch(new Event(), 'foo');
|
| 229 | + |
| 230 | + $this->assertSame([ |
| 231 | + [ |
| 232 | + 'debug', |
| 233 | + 'Notified event "{event}" to listener "{listener}".', |
| 234 | + ['event' => 'foo', 'listener' => 'closure'], |
| 235 | + ], |
| 236 | + [ |
| 237 | + 'debug', |
| 238 | + 'Listener "{listener}" stopped propagation of the event "{event}".', |
| 239 | + ['event' => 'foo', 'listener' => 'closure'], |
| 240 | + ], |
| 241 | + [ |
| 242 | + 'debug', |
| 243 | + 'Listener "{listener}" was not called for event "{event}".', |
| 244 | + ['event' => 'foo', 'listener' => 'closure'], |
| 245 | + ], |
| 246 | + ], $logger->cleanLogs()); |
230 | 247 | }
|
231 | 248 |
|
232 | 249 | public function testDispatchCallListeners()
|
|
0 commit comments