Skip to content
This repository was archived by the owner on Jan 29, 2020. It is now read-only.

Commit 93d0fe9

Browse files
committed
Merge branch 'hotfix/11' into develop
Forward port #11
2 parents e341b04 + 32322d6 commit 93d0fe9

File tree

3 files changed

+88
-14
lines changed

3 files changed

+88
-14
lines changed

composer.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"zendframework/zend-console": "^2.6",
1515
"zendframework/zend-eventmanager": "^2.6.2 || ^3.0",
1616
"zendframework/zend-modulemanager": "^2.7.1",
17-
"zendframework/zend-mvc": "^3.0.0-dev || ^3.0",
17+
"zendframework/zend-mvc": "^3.0.3",
1818
"zendframework/zend-router": "^3.0",
1919
"zendframework/zend-servicemanager": "^2.7.5 || ^3.0.3",
2020
"zendframework/zend-stdlib": "^2.7.5 || ^3.0",

composer.lock

+11-13
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

test/ServiceManagerTest.php

+76
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
<?php
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+
*/
7+
8+
namespace ZendTest\Mvc\Console;
9+
10+
use Interop\Container\ContainerInterface;
11+
use PHPUnit_Framework_TestCase as TestCase;
12+
use Zend\EventManager\Test\EventListenerIntrospectionTrait;
13+
use Zend\Mvc\Console\ResponseSender\ConsoleResponseSender;
14+
use Zend\Mvc\Console\Service\ConsoleResponseSenderDelegatorFactory;
15+
use Zend\Mvc\ResponseSender\SendResponseEvent;
16+
use Zend\Mvc\SendResponseListener;
17+
use Zend\Mvc\Service\SendResponseListenerFactory;
18+
use Zend\Mvc\Service\ServiceManagerConfig;
19+
use Zend\ServiceManager\ServiceManager;
20+
use Zend\ServiceManager\Factory\InvokableFactory;
21+
22+
use ReflectionProperty;
23+
24+
class ServiceManagerTest extends TestCase
25+
{
26+
use EventListenerIntrospectionTrait;
27+
28+
/**
29+
* @group 10
30+
* @group 11
31+
* @group 12
32+
*/
33+
public function testEventManagerOverridden()
34+
{
35+
$minimalConfig = [
36+
'aliases' => [
37+
'SendResponseListener' => SendResponseListener::class,
38+
],
39+
'factories' => [
40+
SendResponseListener::class => SendResponseListenerFactory::class,
41+
],
42+
'delegators' => [
43+
SendResponseListener::class => [
44+
ConsoleResponseSenderDelegatorFactory::class,
45+
],
46+
]
47+
];
48+
49+
$smConfig = new ServiceManagerConfig($minimalConfig);
50+
51+
$serviceManager = new ServiceManager();
52+
$smConfig->configureServiceManager($serviceManager);
53+
54+
$sendResponseListener = $serviceManager->get('SendResponseListener');
55+
$eventManager = $sendResponseListener->getEventManager();
56+
$this->assertEvents($eventManager);
57+
}
58+
59+
protected function assertEvents($eventManager)
60+
{
61+
$count = 0;
62+
$found = false;
63+
64+
foreach ($this->getListenersForEvent(SendResponseEvent::EVENT_SEND_RESPONSE, $eventManager, true) as $priority => $listener) {
65+
$count++;
66+
if ($priority === -2000
67+
&& $listener instanceof ConsoleResponseSender
68+
) {
69+
$found = true;
70+
}
71+
}
72+
73+
$this->assertEquals(4, $count);
74+
$this->assertTrue($found, 'ConsoleResponseSender was not found in listeners');
75+
}
76+
}

0 commit comments

Comments
 (0)