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

Commit 29d9bb5

Browse files
committed
Merge branch 'hotfix/623'
Close #623
2 parents 491da1e + 62e9e60 commit 29d9bb5

File tree

2 files changed

+39
-0
lines changed

2 files changed

+39
-0
lines changed

test/ExceptionTest.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
use Generator;
1313
use PHPUnit\Framework\TestCase;
1414
use Psr\Container\ContainerExceptionInterface;
15+
use Zend\Expressive\Exception\ContainerNotRegisteredException;
1516
use Zend\Expressive\Exception\ExceptionInterface;
1617
use Zend\Expressive\Exception\InvalidMiddlewareException;
1718
use Zend\Expressive\Exception\MissingDependencyException;
@@ -58,4 +59,14 @@ public function testExceptionIsInstanceOfContainerExceptionInterface(string $exc
5859
{
5960
$this->assertTrue(is_a($exception, ContainerExceptionInterface::class, true));
6061
}
62+
63+
public function testContainerNotRegisteredExceptionForMiddlewareService()
64+
{
65+
$exception = ContainerNotRegisteredException::forMiddlewareService('foo');
66+
67+
$this->assertSame(
68+
'Cannot marshal middleware by service name "foo"; no container registered',
69+
$exception->getMessage()
70+
);
71+
}
6172
}

test/Middleware/WhoopsErrorResponseGeneratorTest.php

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,14 @@
1010
namespace ZendTest\Expressive\Middleware;
1111

1212
use Fig\Http\Message\StatusCodeInterface as StatusCode;
13+
use InvalidArgumentException;
1314
use PHPUnit\Framework\TestCase;
1415
use Prophecy\Prophecy\ObjectProphecy;
1516
use Psr\Http\Message\ResponseInterface;
1617
use Psr\Http\Message\ServerRequestInterface;
1718
use Psr\Http\Message\StreamInterface;
1819
use RuntimeException;
20+
use stdClass;
1921
use Whoops\Handler\JsonResponseHandler;
2022
use Whoops\Handler\PrettyPageHandler;
2123
use Whoops\Run;
@@ -160,4 +162,30 @@ public function testJsonContentTypeResponseWithJsonResponseHandler()
160162
$generator($error, $this->request->reveal(), $this->response->reveal())
161163
);
162164
}
165+
166+
public function testThrowsInvalidArgumentExceptionOnNonRunForObject()
167+
{
168+
$whoops = new stdClass();
169+
170+
$this->expectException(InvalidArgumentException::class);
171+
$this->expectExceptionMessage(
172+
'Zend\Expressive\Middleware\WhoopsErrorResponseGenerator expects a Whoops\Run'
173+
. ' or Whoops\RunInterface instance; received stdClass'
174+
);
175+
176+
new WhoopsErrorResponseGenerator($whoops);
177+
}
178+
179+
public function testThrowsInvalidArgumentExceptionOnNonRunForScalar()
180+
{
181+
$whoops = 'foo';
182+
183+
$this->expectException(InvalidArgumentException::class);
184+
$this->expectExceptionMessage(
185+
'Zend\Expressive\Middleware\WhoopsErrorResponseGenerator expects a Whoops\Run'
186+
. ' or Whoops\RunInterface instance; received string'
187+
);
188+
189+
new WhoopsErrorResponseGenerator($whoops);
190+
}
163191
}

0 commit comments

Comments
 (0)