Mercurial > hg > isophonics-drupal-site
comparison vendor/symfony/event-dispatcher/Tests/Debug/TraceableEventDispatcherTest.php @ 17:129ea1e6d783
Update, including to Drupal core 8.6.10
author | Chris Cannam |
---|---|
date | Thu, 28 Feb 2019 13:21:36 +0000 |
parents | 1fec387a4317 |
children |
comparison
equal
deleted
inserted
replaced
16:c2387f117808 | 17:129ea1e6d783 |
---|---|
11 | 11 |
12 namespace Symfony\Component\EventDispatcher\Tests\Debug; | 12 namespace Symfony\Component\EventDispatcher\Tests\Debug; |
13 | 13 |
14 use PHPUnit\Framework\TestCase; | 14 use PHPUnit\Framework\TestCase; |
15 use Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher; | 15 use Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher; |
16 use Symfony\Component\EventDispatcher\Event; | |
17 use Symfony\Component\EventDispatcher\EventDispatcher; | |
16 use Symfony\Component\EventDispatcher\EventDispatcherInterface; | 18 use Symfony\Component\EventDispatcher\EventDispatcherInterface; |
17 use Symfony\Component\EventDispatcher\EventSubscriberInterface; | 19 use Symfony\Component\EventDispatcher\EventSubscriberInterface; |
18 use Symfony\Component\EventDispatcher\EventDispatcher; | |
19 use Symfony\Component\EventDispatcher\Event; | |
20 use Symfony\Component\Stopwatch\Stopwatch; | 20 use Symfony\Component\Stopwatch\Stopwatch; |
21 | 21 |
22 class TraceableEventDispatcherTest extends TestCase | 22 class TraceableEventDispatcherTest extends TestCase |
23 { | 23 { |
24 public function testAddRemoveListener() | 24 public function testAddRemoveListener() |
96 $subscriber = new EventSubscriber(); | 96 $subscriber = new EventSubscriber(); |
97 | 97 |
98 $tdispatcher->addSubscriber($subscriber); | 98 $tdispatcher->addSubscriber($subscriber); |
99 $listeners = $dispatcher->getListeners('foo'); | 99 $listeners = $dispatcher->getListeners('foo'); |
100 $this->assertCount(1, $listeners); | 100 $this->assertCount(1, $listeners); |
101 $this->assertSame(array($subscriber, 'call'), $listeners[0]); | 101 $this->assertSame([$subscriber, 'call'], $listeners[0]); |
102 | 102 |
103 $tdispatcher->removeSubscriber($subscriber); | 103 $tdispatcher->removeSubscriber($subscriber); |
104 $this->assertCount(0, $dispatcher->getListeners('foo')); | 104 $this->assertCount(0, $dispatcher->getListeners('foo')); |
105 } | 105 } |
106 | 106 |
108 { | 108 { |
109 $tdispatcher = new TraceableEventDispatcher(new EventDispatcher(), new Stopwatch()); | 109 $tdispatcher = new TraceableEventDispatcher(new EventDispatcher(), new Stopwatch()); |
110 $tdispatcher->addListener('foo', function () {}, 5); | 110 $tdispatcher->addListener('foo', function () {}, 5); |
111 | 111 |
112 $listeners = $tdispatcher->getNotCalledListeners(); | 112 $listeners = $tdispatcher->getNotCalledListeners(); |
113 $this->assertArrayHasKey('stub', $listeners['foo.closure']); | 113 $this->assertArrayHasKey('stub', $listeners[0]); |
114 unset($listeners['foo.closure']['stub']); | 114 unset($listeners[0]['stub']); |
115 $this->assertEquals(array(), $tdispatcher->getCalledListeners()); | 115 $this->assertEquals([], $tdispatcher->getCalledListeners()); |
116 $this->assertEquals(array('foo.closure' => array('event' => 'foo', 'pretty' => 'closure', 'priority' => 5)), $listeners); | 116 $this->assertEquals([['event' => 'foo', 'pretty' => 'closure', 'priority' => 5]], $listeners); |
117 | 117 |
118 $tdispatcher->dispatch('foo'); | 118 $tdispatcher->dispatch('foo'); |
119 | 119 |
120 $listeners = $tdispatcher->getCalledListeners(); | 120 $listeners = $tdispatcher->getCalledListeners(); |
121 $this->assertArrayHasKey('stub', $listeners['foo.closure']); | 121 $this->assertArrayHasKey('stub', $listeners[0]); |
122 unset($listeners['foo.closure']['stub']); | 122 unset($listeners[0]['stub']); |
123 $this->assertEquals(array('foo.closure' => array('event' => 'foo', 'pretty' => 'closure', 'priority' => 5)), $listeners); | 123 $this->assertEquals([['event' => 'foo', 'pretty' => 'closure', 'priority' => 5]], $listeners); |
124 $this->assertEquals(array(), $tdispatcher->getNotCalledListeners()); | 124 $this->assertEquals([], $tdispatcher->getNotCalledListeners()); |
125 } | 125 } |
126 | 126 |
127 public function testClearCalledListeners() | 127 public function testClearCalledListeners() |
128 { | 128 { |
129 $tdispatcher = new TraceableEventDispatcher(new EventDispatcher(), new Stopwatch()); | 129 $tdispatcher = new TraceableEventDispatcher(new EventDispatcher(), new Stopwatch()); |
131 | 131 |
132 $tdispatcher->dispatch('foo'); | 132 $tdispatcher->dispatch('foo'); |
133 $tdispatcher->reset(); | 133 $tdispatcher->reset(); |
134 | 134 |
135 $listeners = $tdispatcher->getNotCalledListeners(); | 135 $listeners = $tdispatcher->getNotCalledListeners(); |
136 $this->assertArrayHasKey('stub', $listeners['foo.closure']); | 136 $this->assertArrayHasKey('stub', $listeners[0]); |
137 unset($listeners['foo.closure']['stub']); | 137 unset($listeners[0]['stub']); |
138 $this->assertEquals(array(), $tdispatcher->getCalledListeners()); | 138 $this->assertEquals([], $tdispatcher->getCalledListeners()); |
139 $this->assertEquals(array('foo.closure' => array('event' => 'foo', 'pretty' => 'closure', 'priority' => 5)), $listeners); | 139 $this->assertEquals([['event' => 'foo', 'pretty' => 'closure', 'priority' => 5]], $listeners); |
140 } | |
141 | |
142 public function testDispatchAfterReset() | |
143 { | |
144 $tdispatcher = new TraceableEventDispatcher(new EventDispatcher(), new Stopwatch()); | |
145 $tdispatcher->addListener('foo', function () {}, 5); | |
146 | |
147 $tdispatcher->reset(); | |
148 $tdispatcher->dispatch('foo'); | |
149 | |
150 $listeners = $tdispatcher->getCalledListeners(); | |
151 $this->assertArrayHasKey('stub', $listeners[0]); | |
140 } | 152 } |
141 | 153 |
142 public function testGetCalledListenersNested() | 154 public function testGetCalledListenersNested() |
143 { | 155 { |
144 $tdispatcher = null; | 156 $tdispatcher = null; |
160 $dispatcher = new EventDispatcher(); | 172 $dispatcher = new EventDispatcher(); |
161 $tdispatcher = new TraceableEventDispatcher($dispatcher, new Stopwatch(), $logger); | 173 $tdispatcher = new TraceableEventDispatcher($dispatcher, new Stopwatch(), $logger); |
162 $tdispatcher->addListener('foo', $listener1 = function () {}); | 174 $tdispatcher->addListener('foo', $listener1 = function () {}); |
163 $tdispatcher->addListener('foo', $listener2 = function () {}); | 175 $tdispatcher->addListener('foo', $listener2 = function () {}); |
164 | 176 |
165 $logger->expects($this->at(0))->method('debug')->with('Notified event "{event}" to listener "{listener}".', array('event' => 'foo', 'listener' => 'closure')); | 177 $logger->expects($this->at(0))->method('debug')->with('Notified event "{event}" to listener "{listener}".', ['event' => 'foo', 'listener' => 'closure']); |
166 $logger->expects($this->at(1))->method('debug')->with('Notified event "{event}" to listener "{listener}".', array('event' => 'foo', 'listener' => 'closure')); | 178 $logger->expects($this->at(1))->method('debug')->with('Notified event "{event}" to listener "{listener}".', ['event' => 'foo', 'listener' => 'closure']); |
167 | 179 |
168 $tdispatcher->dispatch('foo'); | 180 $tdispatcher->dispatch('foo'); |
169 } | 181 } |
170 | 182 |
171 public function testLoggerWithStoppedEvent() | 183 public function testLoggerWithStoppedEvent() |
175 $dispatcher = new EventDispatcher(); | 187 $dispatcher = new EventDispatcher(); |
176 $tdispatcher = new TraceableEventDispatcher($dispatcher, new Stopwatch(), $logger); | 188 $tdispatcher = new TraceableEventDispatcher($dispatcher, new Stopwatch(), $logger); |
177 $tdispatcher->addListener('foo', $listener1 = function (Event $event) { $event->stopPropagation(); }); | 189 $tdispatcher->addListener('foo', $listener1 = function (Event $event) { $event->stopPropagation(); }); |
178 $tdispatcher->addListener('foo', $listener2 = function () {}); | 190 $tdispatcher->addListener('foo', $listener2 = function () {}); |
179 | 191 |
180 $logger->expects($this->at(0))->method('debug')->with('Notified event "{event}" to listener "{listener}".', array('event' => 'foo', 'listener' => 'closure')); | 192 $logger->expects($this->at(0))->method('debug')->with('Notified event "{event}" to listener "{listener}".', ['event' => 'foo', 'listener' => 'closure']); |
181 $logger->expects($this->at(1))->method('debug')->with('Listener "{listener}" stopped propagation of the event "{event}".', array('event' => 'foo', 'listener' => 'closure')); | 193 $logger->expects($this->at(1))->method('debug')->with('Listener "{listener}" stopped propagation of the event "{event}".', ['event' => 'foo', 'listener' => 'closure']); |
182 $logger->expects($this->at(2))->method('debug')->with('Listener "{listener}" was not called for event "{event}".', array('event' => 'foo', 'listener' => 'closure')); | 194 $logger->expects($this->at(2))->method('debug')->with('Listener "{listener}" was not called for event "{event}".', ['event' => 'foo', 'listener' => 'closure']); |
183 | 195 |
184 $tdispatcher->dispatch('foo'); | 196 $tdispatcher->dispatch('foo'); |
185 } | 197 } |
186 | 198 |
187 public function testDispatchCallListeners() | 199 public function testDispatchCallListeners() |
188 { | 200 { |
189 $called = array(); | 201 $called = []; |
190 | 202 |
191 $dispatcher = new EventDispatcher(); | 203 $dispatcher = new EventDispatcher(); |
192 $tdispatcher = new TraceableEventDispatcher($dispatcher, new Stopwatch()); | 204 $tdispatcher = new TraceableEventDispatcher($dispatcher, new Stopwatch()); |
193 $tdispatcher->addListener('foo', function () use (&$called) { $called[] = 'foo1'; }, 10); | 205 $tdispatcher->addListener('foo', function () use (&$called) { $called[] = 'foo1'; }, 10); |
194 $tdispatcher->addListener('foo', function () use (&$called) { $called[] = 'foo2'; }, 20); | 206 $tdispatcher->addListener('foo', function () use (&$called) { $called[] = 'foo2'; }, 20); |
195 | 207 |
196 $tdispatcher->dispatch('foo'); | 208 $tdispatcher->dispatch('foo'); |
197 | 209 |
198 $this->assertSame(array('foo2', 'foo1'), $called); | 210 $this->assertSame(['foo2', 'foo1'], $called); |
199 } | 211 } |
200 | 212 |
201 public function testDispatchNested() | 213 public function testDispatchNested() |
202 { | 214 { |
203 $dispatcher = new TraceableEventDispatcher(new EventDispatcher(), new Stopwatch()); | 215 $dispatcher = new TraceableEventDispatcher(new EventDispatcher(), new Stopwatch()); |
250 | 262 |
251 class EventSubscriber implements EventSubscriberInterface | 263 class EventSubscriber implements EventSubscriberInterface |
252 { | 264 { |
253 public static function getSubscribedEvents() | 265 public static function getSubscribedEvents() |
254 { | 266 { |
255 return array('foo' => 'call'); | 267 return ['foo' => 'call']; |
256 } | 268 } |
257 } | 269 } |