public function TraceableEventDispatcherTest::testLoggerWithStoppedEvent

File

drupal/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Debug/TraceableEventDispatcherTest.php, line 121

Class

TraceableEventDispatcherTest

Namespace

Symfony\Component\HttpKernel\Tests\Debug

Code

public function testLoggerWithStoppedEvent() {
  $logger = $this
    ->getMock('Psr\\Log\\LoggerInterface');
  $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
    ->at(0))
    ->method('debug')
    ->with("Notified event \"foo\" to listener \"closure\".");
  $logger
    ->expects($this
    ->at(1))
    ->method('debug')
    ->with("Listener \"closure\" stopped propagation of the event \"foo\".");
  $logger
    ->expects($this
    ->at(2))
    ->method('debug')
    ->with("Listener \"closure\" was not called for event \"foo\".");
  $tdispatcher
    ->dispatch('foo');
}