drop logger mock in favor of using the BufferingLogger

This commit is contained in:
Christian Flothmann 2020-09-18 13:57:55 +02:00
parent 2eeb75dd6f
commit 86a7e3289b
2 changed files with 35 additions and 17 deletions

View File

@ -12,6 +12,7 @@
namespace Symfony\Component\EventDispatcher\Tests\Debug;
use PHPUnit\Framework\TestCase;
use Symfony\Component\Debug\BufferingLogger;
use Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher;
use Symfony\Component\EventDispatcher\Event;
use Symfony\Component\EventDispatcher\EventDispatcher;
@ -167,41 +168,57 @@ class TraceableEventDispatcherTest extends TestCase
public function testLogger()
{
$logger = $this->getMockBuilder('Psr\Log\LoggerInterface')->getMock();
$logger = new BufferingLogger();
$dispatcher = new EventDispatcher();
$tdispatcher = new TraceableEventDispatcher($dispatcher, new Stopwatch(), $logger);
$tdispatcher->addListener('foo', $listener1 = function () {});
$tdispatcher->addListener('foo', $listener2 = function () {});
$logger->expects($this->exactly(2))
->method('debug')
->withConsecutive(
['Notified event "{event}" to listener "{listener}".', ['event' => 'foo', 'listener' => 'closure']],
['Notified event "{event}" to listener "{listener}".', ['event' => 'foo', 'listener' => 'closure']]
);
$tdispatcher->dispatch('foo');
$this->assertSame([
[
'debug',
'Notified event "{event}" to listener "{listener}".',
['event' => 'foo', 'listener' => 'closure'],
],
[
'debug',
'Notified event "{event}" to listener "{listener}".',
['event' => 'foo', 'listener' => 'closure'],
],
], $logger->cleanLogs());
}
public function testLoggerWithStoppedEvent()
{
$logger = $this->getMockBuilder('Psr\Log\LoggerInterface')->getMock();
$logger = new BufferingLogger();
$dispatcher = new EventDispatcher();
$tdispatcher = new TraceableEventDispatcher($dispatcher, new Stopwatch(), $logger);
$tdispatcher->addListener('foo', $listener1 = function (Event $event) { $event->stopPropagation(); });
$tdispatcher->addListener('foo', $listener2 = function () {});
$logger->expects($this->exactly(3))
->method('debug')
->withConsecutive(
['Notified event "{event}" to listener "{listener}".', ['event' => 'foo', 'listener' => 'closure']],
['Listener "{listener}" stopped propagation of the event "{event}".', ['event' => 'foo', 'listener' => 'closure']],
['Listener "{listener}" was not called for event "{event}".', ['event' => 'foo', 'listener' => 'closure']]
);
$tdispatcher->dispatch('foo');
$this->assertSame([
[
'debug',
'Notified event "{event}" to listener "{listener}".',
['event' => 'foo', 'listener' => 'closure'],
],
[
'debug',
'Listener "{listener}" stopped propagation of the event "{event}".',
['event' => 'foo', 'listener' => 'closure'],
],
[
'debug',
'Listener "{listener}" was not called for event "{event}".',
['event' => 'foo', 'listener' => 'closure'],
],
], $logger->cleanLogs());
}
public function testDispatchCallListeners()

View File

@ -22,6 +22,7 @@
"symfony/dependency-injection": "~3.3|~4.0",
"symfony/expression-language": "~2.8|~3.0|~4.0",
"symfony/config": "~2.8|~3.0|~4.0",
"symfony/debug": "~3.4|~4.4",
"symfony/stopwatch": "~2.8|~3.0|~4.0",
"psr/log": "~1.0"
},