|
1 | 1 | <?php
|
2 |
| -namespace ZendTest\Mvc\Console; |
| 2 | +/** |
| 3 | + * @link http://github.com/zendframework/zend-mvc-console for the canonical source repository |
| 4 | + * @copyright Copyright (c) 2016 Zend Technologies USA Inc. (http://www.zend.com) |
| 5 | + * @license http://framework.zend.com/license/new-bsd New BSD License |
| 6 | + */ |
3 | 7 |
|
4 |
| -use PHPUnit_Framework_TestCase as TestCase; |
| 8 | +namespace ZendTest\Mvc\Console; |
5 | 9 |
|
6 | 10 | use Interop\Container\ContainerInterface;
|
7 |
| - |
8 |
| -use Zend\ServiceManager\ServiceManager; |
9 |
| -use Zend\ServiceManager\Factory\InvokableFactory; |
10 |
| - |
11 |
| -use Zend\Mvc\SendResponseListener; |
12 |
| -use Zend\Mvc\Service\ServiceManagerConfig; |
13 |
| - |
| 11 | +use PHPUnit_Framework_TestCase as TestCase; |
| 12 | +use Zend\EventManager\Test\EventListenerIntrospectionTrait; |
14 | 13 | use Zend\Mvc\Console\ResponseSender\ConsoleResponseSender;
|
15 | 14 | use Zend\Mvc\Console\Service\ConsoleResponseSenderDelegatorFactory;
|
| 15 | +use Zend\Mvc\ResponseSender\SendResponseEvent; |
| 16 | +use Zend\Mvc\SendResponseListener; |
| 17 | +use Zend\Mvc\Service\ServiceManagerConfig; |
| 18 | +use Zend\ServiceManager\ServiceManager; |
| 19 | +use Zend\ServiceManager\Factory\InvokableFactory; |
16 | 20 |
|
17 | 21 | use ReflectionProperty;
|
18 | 22 |
|
19 | 23 | class ServiceManagerTest extends TestCase
|
20 | 24 | {
|
| 25 | + use EventListenerIntrospectionTrait; |
| 26 | + |
21 | 27 | public function testEventManagerOverridden()
|
22 | 28 | {
|
23 | 29 | $minimalConfig = [
|
@@ -55,11 +61,19 @@ function (ContainerInterface $container, $name, callable $callback, array $optio
|
55 | 61 |
|
56 | 62 | protected function assertEvents($eventManager)
|
57 | 63 | {
|
58 |
| - $r = new ReflectionProperty($eventManager, 'events'); |
59 |
| - $r->setAccessible(true); |
60 |
| - $events = $r->getValue($eventManager); |
| 64 | + $count = 0; |
| 65 | + $found = false; |
| 66 | + |
| 67 | + foreach ($this->getListenersForEvent(SendResponseEvent::EVENT_SEND_RESPONSE, $eventManager, true) as $priority => $listener) { |
| 68 | + $count++; |
| 69 | + if ($priority === -2000 |
| 70 | + && $listener instanceof ConsoleResponseSender |
| 71 | + ) { |
| 72 | + $found = true; |
| 73 | + } |
| 74 | + } |
61 | 75 |
|
62 |
| - $this->assertEquals(4, count($events['sendResponse'])); |
63 |
| - $this->assertEquals(ConsoleResponseSender::class, get_class($events['sendResponse']['-2000.0'][0])); |
| 76 | + $this->assertEquals(4, $count); |
| 77 | + $this->assertTrue($found, 'ConsoleResponseSender was not found in listeners'); |
64 | 78 | }
|
65 | 79 | }
|
0 commit comments