X-Git-Url: http://aleph1.co.uk/gitweb/?a=blobdiff_plain;f=vendor%2Fsymfony%2Fevent-dispatcher%2FTests%2FDebug%2FTraceableEventDispatcherTest.php;h=b6710cacd1b2d20b4f96f75c24824ba3ed5f90d9;hb=9917807b03b64faf00f6a1f29dcb6eafc454efa5;hp=d99b0bf9c6758366de4c2dac2e3080dde381d23e;hpb=eba34333e3c89f208d2f72fa91351ad019a71583;p=yaffs-website diff --git a/vendor/symfony/event-dispatcher/Tests/Debug/TraceableEventDispatcherTest.php b/vendor/symfony/event-dispatcher/Tests/Debug/TraceableEventDispatcherTest.php index d99b0bf9c..b6710cacd 100644 --- a/vendor/symfony/event-dispatcher/Tests/Debug/TraceableEventDispatcherTest.php +++ b/vendor/symfony/event-dispatcher/Tests/Debug/TraceableEventDispatcherTest.php @@ -13,7 +13,6 @@ namespace Symfony\Component\EventDispatcher\Tests\Debug; use PHPUnit\Framework\TestCase; use Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher; -use Symfony\Component\EventDispatcher\Debug\WrappedListener; use Symfony\Component\EventDispatcher\EventDispatcherInterface; use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Symfony\Component\EventDispatcher\EventDispatcher; @@ -75,14 +74,18 @@ class TraceableEventDispatcherTest extends TestCase $this->assertSame(123, $tdispatcher->getListenerPriority('foo', $listeners[0])); } - public function testGetListenerPriorityReturnsZeroWhenWrappedMethodDoesNotExist() + public function testGetListenerPriorityWhileDispatching() { - $dispatcher = $this->getMockBuilder('Symfony\Component\EventDispatcher\EventDispatcherInterface')->getMock(); - $traceableEventDispatcher = new TraceableEventDispatcher($dispatcher, new Stopwatch()); - $traceableEventDispatcher->addListener('foo', function () {}, 123); - $listeners = $traceableEventDispatcher->getListeners('foo'); + $tdispatcher = new TraceableEventDispatcher(new EventDispatcher(), new Stopwatch()); + $priorityWhileDispatching = null; - $this->assertSame(0, $traceableEventDispatcher->getListenerPriority('foo', $listeners[0])); + $listener = function () use ($tdispatcher, &$priorityWhileDispatching, &$listener) { + $priorityWhileDispatching = $tdispatcher->getListenerPriority('bar', $listener); + }; + + $tdispatcher->addListener('bar', $listener, 5); + $tdispatcher->dispatch('bar'); + $this->assertSame(5, $priorityWhileDispatching); } public function testAddRemoveSubscriber() @@ -101,41 +104,25 @@ class TraceableEventDispatcherTest extends TestCase $this->assertCount(0, $dispatcher->getListeners('foo')); } - /** - * @dataProvider isWrappedDataProvider - * - * @param bool $isWrapped - */ - public function testGetCalledListeners($isWrapped) + public function testGetCalledListeners() { - $dispatcher = new EventDispatcher(); - $stopWatch = new Stopwatch(); - $tdispatcher = new TraceableEventDispatcher($dispatcher, $stopWatch); - - $listener = function () {}; - if ($isWrapped) { - $listener = new WrappedListener($listener, 'foo', $stopWatch, $dispatcher); - } - - $tdispatcher->addListener('foo', $listener, 5); + $tdispatcher = new TraceableEventDispatcher(new EventDispatcher(), new Stopwatch()); + $tdispatcher->addListener('foo', function () {}, 5); + $listeners = $tdispatcher->getNotCalledListeners(); + $this->assertArrayHasKey('data', $listeners['foo.closure']); + unset($listeners['foo.closure']['data']); $this->assertEquals(array(), $tdispatcher->getCalledListeners()); - $this->assertEquals(array('foo.closure' => array('event' => 'foo', 'type' => 'Closure', 'pretty' => 'closure', 'priority' => 5)), $tdispatcher->getNotCalledListeners()); + $this->assertEquals(array('foo.closure' => array('event' => 'foo', 'pretty' => 'closure', 'priority' => 5)), $listeners); $tdispatcher->dispatch('foo'); - $this->assertEquals(array('foo.closure' => array('event' => 'foo', 'type' => 'Closure', 'pretty' => 'closure', 'priority' => 5)), $tdispatcher->getCalledListeners()); + $listeners = $tdispatcher->getCalledListeners(); + unset($listeners['foo.closure']['data']); + $this->assertEquals(array('foo.closure' => array('event' => 'foo', 'pretty' => 'closure', 'priority' => 5)), $listeners); $this->assertEquals(array(), $tdispatcher->getNotCalledListeners()); } - public function isWrappedDataProvider() - { - return array( - array(false), - array(true), - ); - } - public function testGetCalledListenersNested() { $tdispatcher = null; @@ -159,8 +146,8 @@ class TraceableEventDispatcherTest extends TestCase $tdispatcher->addListener('foo', $listener1 = function () {}); $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('Notified event "foo" to listener "closure".'); + $logger->expects($this->at(0))->method('debug')->with('Notified event "{event}" to listener "{listener}".', array('event' => 'foo', 'listener' => 'closure')); + $logger->expects($this->at(1))->method('debug')->with('Notified event "{event}" to listener "{listener}".', array('event' => 'foo', 'listener' => 'closure')); $tdispatcher->dispatch('foo'); } @@ -174,9 +161,9 @@ class TraceableEventDispatcherTest extends TestCase $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".'); + $logger->expects($this->at(0))->method('debug')->with('Notified event "{event}" to listener "{listener}".', array('event' => 'foo', 'listener' => 'closure')); + $logger->expects($this->at(1))->method('debug')->with('Listener "{listener}" stopped propagation of the event "{event}".', array('event' => 'foo', 'listener' => 'closure')); + $logger->expects($this->at(2))->method('debug')->with('Listener "{listener}" was not called for event "{event}".', array('event' => 'foo', 'listener' => 'closure')); $tdispatcher->dispatch('foo'); }