Skip to content
Closed
28 changes: 25 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,28 @@

All notable changes to this project will be documented in this file, in reverse chronological order by release.

## 4.0.0 - TBD

### Added

- Nothing.

### Changed

- Nothing.

### Deprecated

- Nothing.

### Removed

- Nothing.

### Fixed

- Nothing.

## 3.2.0 - 2020-12-14

### Added
Expand Down Expand Up @@ -114,7 +136,7 @@ All notable changes to this project will be documented in this file, in reverse

### Fixed

- [zendframework/zend-mvc#210](https://github.com/zendframework/zend-mvc/pull/210) copies the
- [zendframework/zend-mvc#210](https://github.com/zendframework/zend-mvc/pull/210) copies the
`RouteMatch` and its parameters to the PSR-7 `ServerRequest` object so that
they are available to middleware.

Expand Down Expand Up @@ -568,7 +590,7 @@ for full details on how to migrate your v2 application.
emitted by `ServiceLocatorAware` initializers; in particular, all
`AbstractController` implementations were raising a deprecation wen first
pulled from the `ControllerManager`.

At this time, notices are now only raised in the following conditions:

- When a non-controller, non-plugin manager, `ServiceLocatorAware` instance
Expand Down Expand Up @@ -735,7 +757,7 @@ for full details on how to migrate your v2 application.
`HydratorPluginManager` will be pulled from laminas-hydrator, by updating your
typehints to use the laminas-hydrator classes instead of those from laminas-stdlib;
the instances returned from the laminas-stdlib `HydratorPluginManager`, because
they extend those from laminas-hydrator, remain compatible.
they extend those from laminas-hydrator, remain compatible.

## 2.6.0 - 2015-09-22

Expand Down
18 changes: 7 additions & 11 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,21 +22,20 @@
},
"require": {
"php": "^7.3 || ~8.0.0",
"container-interop/container-interop": "^1.2",
"laminas/laminas-eventmanager": "^3.2",
"laminas/laminas-http": "^2.7",
"laminas/laminas-modulemanager": "^2.8",
"laminas/laminas-router": "^3.0.2",
"laminas/laminas-servicemanager": "^3.3",
"laminas/laminas-http": "^2.11.2",
"laminas/laminas-modulemanager": "^2.8.2",
"laminas/laminas-router": "^3.3.2",
"laminas/laminas-servicemanager": "^3.4.1",
"laminas/laminas-stdlib": "^3.2.1",
"laminas/laminas-view": "^2.11.3",
"laminas/laminas-zendframework-bridge": "^1.0"
"laminas/laminas-view": "^2.11.4",
"psr/container": "^1.0"
},
"require-dev": {
"http-interop/http-middleware": "^0.4.1",
"laminas/laminas-coding-standard": "^1.0.0",
"laminas/laminas-json": "^2.6.1 || ^3.0",
"laminas/laminas-psr7bridge": "^1.0",
"laminas/laminas-psr7bridge": "^1.2.2",
"laminas/laminas-stratigility": ">=2.0.1 <2.2",
"phpspec/prophecy-phpunit": "^2.0",
"phpunit/phpunit": "^9.4.2"
Expand Down Expand Up @@ -76,8 +75,5 @@
"cs-fix": "phpcbf",
"test": "phpunit --colors=always",
"test-coverage": "phpunit --colors=always --coverage-clover clover.xml"
},
"replace": {
"zendframework/zend-mvc": "^3.1.1"
}
}
9 changes: 5 additions & 4 deletions src/Controller/AbstractRestfulController.php
Original file line number Diff line number Diff line change
Expand Up @@ -425,7 +425,8 @@ public function onDispatch(MvcEvent $e)
// POST
case 'post':
$action = 'create';
$return = $this->processPostData($request);
$data = $this->processPostData($request);
$return = $this->create($data);
break;
// PUT
case 'put':
Expand Down Expand Up @@ -454,7 +455,7 @@ public function onDispatch(MvcEvent $e)
}

/**
* Process post data and call create
* Process post data
*
* @param Request $request
* @return mixed
Expand All @@ -464,10 +465,10 @@ public function onDispatch(MvcEvent $e)
public function processPostData(Request $request)
{
if ($this->requestHasContentType($request, self::CONTENT_TYPE_JSON)) {
return $this->create($this->jsonDecode($request->getContent()));
return $this->jsonDecode($request->getContent());
}

return $this->create($request->getPost()->toArray());
return $request->getPost()->toArray();
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
use Laminas\Mvc\MvcEvent;
use PHPUnit\Framework\TestCase;

class InvalidControllerTypeShouldTrigerDispatchErrorTest extends TestCase
class InvalidControllerTypeShouldTriggerDispatchErrorTest extends TestCase
{
use InvalidControllerTypeTrait;

Expand Down
2 changes: 1 addition & 1 deletion test/ApplicationTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ class ApplicationTest extends TestCase
*/
protected $application;

public function setUp(): void
protected function setUp() : void
{
$serviceListener = new ServiceListenerFactory();
$r = new ReflectionProperty($serviceListener, 'defaultServiceConfig');
Expand Down
37 changes: 20 additions & 17 deletions test/Controller/AbstractControllerTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
use Laminas\Mvc\InjectApplicationEventInterface;
use Laminas\Stdlib\DispatchableInterface;
use LaminasTest\Mvc\Controller\TestAsset\AbstractControllerStub;
use PHPUnit\Framework\MockObject\MockObject;
use PHPUnit\Framework\TestCase;
use ReflectionProperty;

Expand All @@ -37,24 +38,26 @@ protected function setUp(): void

public function testSetEventManagerWithDefaultIdentifiers()
{
/* @var $eventManager EventManagerInterface|\PHPUnit_Framework_MockObject_MockObject */
/* @var $eventManager EventManagerInterface&MockObject */
$eventManager = $this->createMock(EventManagerInterface::class);

$eventManager
->expects($this->once())
->method('setIdentifiers')
->with($this->logicalNot($this->containsEqual('customEventIdentifier')));
->with($this->logicalNot($this->containsIdentical('customEventIdentifier')));

$this->controller->setEventManager($eventManager);
}

public function testSetEventManagerWithCustomStringIdentifier()
{
/* @var $eventManager EventManagerInterface|\PHPUnit_Framework_MockObject_MockObject */
/* @var $eventManager EventManagerInterface&MockObject */
$eventManager = $this->createMock(EventManagerInterface::class);

$eventManager->expects($this->once())->method('setIdentifiers')
->with($this->containsEqual('customEventIdentifier'));
$eventManager
->expects($this->once())
->method('setIdentifiers')
->with($this->containsIdentical('customEventIdentifier'));

$reflection = new ReflectionProperty($this->controller, 'eventIdentifier');

Expand All @@ -66,12 +69,12 @@ public function testSetEventManagerWithCustomStringIdentifier()

public function testSetEventManagerWithMultipleCustomStringIdentifier()
{
/* @var $eventManager EventManagerInterface|\PHPUnit_Framework_MockObject_MockObject */
/* @var $eventManager EventManagerInterface&MockObject */
$eventManager = $this->createMock(EventManagerInterface::class);

$eventManager->expects($this->once())->method('setIdentifiers')->with($this->logicalAnd(
$this->containsEqual('customEventIdentifier1'),
$this->containsEqual('customEventIdentifier2')
$this->containsIdentical('customEventIdentifier1'),
$this->containsIdentical('customEventIdentifier2')
));

$reflection = new ReflectionProperty($this->controller, 'eventIdentifier');
Expand All @@ -84,34 +87,34 @@ public function testSetEventManagerWithMultipleCustomStringIdentifier()

public function testSetEventManagerWithDefaultIdentifiersIncludesImplementedInterfaces()
{
/* @var $eventManager EventManagerInterface|\PHPUnit_Framework_MockObject_MockObject */
/* @var $eventManager EventManagerInterface&MockObject */
$eventManager = $this->createMock(EventManagerInterface::class);

$eventManager
->expects($this->once())
->method('setIdentifiers')
->with($this->logicalAnd(
$this->containsEqual(EventManagerAwareInterface::class),
$this->containsEqual(DispatchableInterface::class),
$this->containsEqual(InjectApplicationEventInterface::class)
$this->containsIdentical(EventManagerAwareInterface::class),
$this->containsIdentical(DispatchableInterface::class),
$this->containsIdentical(InjectApplicationEventInterface::class)
));

$this->controller->setEventManager($eventManager);
}

public function testSetEventManagerWithDefaultIdentifiersIncludesExtendingClassNameAndNamespace()
{
/* @var $eventManager EventManagerInterface|\PHPUnit_Framework_MockObject_MockObject */
/* @var $eventManager EventManagerInterface&MockObject */
$eventManager = $this->createMock(EventManagerInterface::class);

$eventManager
->expects($this->once())
->method('setIdentifiers')
->with($this->logicalAnd(
$this->containsEqual(AbstractController::class),
$this->containsEqual(AbstractControllerStub::class),
$this->containsEqual('LaminasTest'),
$this->containsEqual('LaminasTest\\Mvc\\Controller\\TestAsset')
$this->containsIdentical(AbstractController::class),
$this->containsIdentical(AbstractControllerStub::class),
$this->containsIdentical('LaminasTest'),
$this->containsIdentical('LaminasTest\\Mvc\\Controller\\TestAsset')
));

$this->controller->setEventManager($eventManager);
Expand Down
3 changes: 2 additions & 1 deletion test/Controller/ActionControllerTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,9 @@ class ActionControllerTest extends TestCase
public $event;
public $request;
public $response;
private $routeMatch;

public function setUp(): void
protected function setUp() : void
{
$this->controller = new SampleController();
$this->request = new Request();
Expand Down
6 changes: 3 additions & 3 deletions test/Controller/ControllerManagerTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@

class ControllerManagerTest extends TestCase
{
public function setUp(): void
protected function setUp() : void
{
$this->sharedEvents = new SharedEventManager;
$this->events = $this->createEventManager($this->sharedEvents);
Expand Down Expand Up @@ -88,8 +88,8 @@ public function testInjectEventManagerWillNotOverwriteExistingEventManagerIfItAl
}

/**
* @covers Laminas\ServiceManager\ServiceManager::has
* @covers Laminas\ServiceManager\AbstractPluginManager::get
* @covers \Laminas\ServiceManager\ServiceManager::has
* @covers \Laminas\ServiceManager\AbstractPluginManager::get
*/
public function testDoNotUsePeeringServiceManagers()
{
Expand Down
2 changes: 1 addition & 1 deletion test/Controller/IntegrationTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@

class IntegrationTest extends TestCase
{
public function setUp(): void
protected function setUp() : void
{
$this->sharedEvents = new SharedEventManager();

Expand Down
2 changes: 1 addition & 1 deletion test/Controller/LazyControllerAbstractFactoryTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ class LazyControllerAbstractFactoryTest extends TestCase
*/
private $container;

public function setUp(): void
protected function setUp(): void
{
$this->container = $this->prophesize(ContainerInterface::class);
}
Expand Down
13 changes: 7 additions & 6 deletions test/Controller/MiddlewareControllerTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
use Laminas\Stdlib\DispatchableInterface;
use Laminas\Stdlib\RequestInterface;
use Laminas\Stratigility\MiddlewarePipe;
use PHPUnit\Framework\MockObject\MockObject;
use PHPUnit\Framework\TestCase;
use Psr\Http\Message\ResponseInterface;

Expand All @@ -31,12 +32,12 @@
class MiddlewareControllerTest extends TestCase
{
/**
* @var MiddlewarePipe|\PHPUnit_Framework_MockObject_MockObject
* @var MiddlewarePipe&MockObject
*/
private $pipe;

/**
* @var ResponseInterface|\PHPUnit_Framework_MockObject_MockObject
* @var ResponseInterface&MockObject
*/
private $responsePrototype;

Expand All @@ -46,7 +47,7 @@ class MiddlewareControllerTest extends TestCase
private $eventManager;

/**
* @var AbstractController|\PHPUnit_Framework_MockObject_MockObject
* @var AbstractController&MockObject
*/
private $controller;

Expand All @@ -58,7 +59,7 @@ class MiddlewareControllerTest extends TestCase
/**
* {@inheritDoc}
*/
protected function setUp(): void
protected function setUp() : void
{
$this->pipe = $this->createMock(MiddlewarePipe::class);
$this->responsePrototype = $this->createMock(ResponseInterface::class);
Expand Down Expand Up @@ -88,7 +89,7 @@ public function testWillDispatchARequestAndResponseWithAGivenPipe()
$request = new Request();
$response = new Response();
$result = $this->createMock(ResponseInterface::class);
/* @var $dispatchListener callable|\PHPUnit_Framework_MockObject_MockObject */
/* @var $dispatchListener callable&MockObject */
$dispatchListener = $this->getMockBuilder(\stdClass::class)->setMethods(['__invoke'])->getMock();

$this->eventManager->attach(MvcEvent::EVENT_DISPATCH, $dispatchListener, 100);
Expand Down Expand Up @@ -122,7 +123,7 @@ public function testWillRefuseDispatchingInvalidRequestTypes()
/* @var $request RequestInterface */
$request = $this->createMock(RequestInterface::class);
$response = new Response();
/* @var $dispatchListener callable|\PHPUnit_Framework_MockObject_MockObject */
/* @var $dispatchListener callable&MockObject */
$dispatchListener = $this->getMockBuilder(\stdClass::class)->setMethods(['__invoke'])->getMock();

$this->eventManager->attach(MvcEvent::EVENT_DISPATCH, $dispatchListener, 100);
Expand Down
2 changes: 1 addition & 1 deletion test/Controller/Plugin/AcceptableViewModelSelectorTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@

class AcceptableViewModelSelectorTest extends TestCase
{
public function setUp(): void
protected function setUp() : void
{
$this->request = new Request();

Expand Down
2 changes: 1 addition & 1 deletion test/Controller/Plugin/ForwardTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ class ForwardTest extends TestCase
*/
private $plugin;

public function setUp(): void
protected function setUp() : void
{
$eventManager = $this->createEventManager(new SharedEventManager());
$mockApplication = $this->createMock(ApplicationInterface::class);
Expand Down
2 changes: 1 addition & 1 deletion test/Controller/Plugin/LayoutTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

class LayoutTest extends TestCase
{
public function setUp(): void
protected function setUp() : void
{
$this->event = $event = new MvcEvent();
$this->controller = new SampleController();
Expand Down
2 changes: 1 addition & 1 deletion test/Controller/Plugin/ParamsTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@

class ParamsTest extends TestCase
{
public function setUp(): void
protected function setUp() : void
{
$this->request = new Request;
$event = new MvcEvent;
Expand Down
2 changes: 1 addition & 1 deletion test/Controller/Plugin/RedirectTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@

class RedirectTest extends TestCase
{
public function setUp(): void
protected function setUp() : void
{
$this->response = new Response();

Expand Down
Loading