|
5 | 5 | namespace Yiisoft\ErrorHandler\Tests\Middleware; |
6 | 6 |
|
7 | 7 | use DomainException; |
| 8 | +use HttpSoft\Message\Request; |
8 | 9 | use HttpSoft\Message\Response; |
9 | 10 | use HttpSoft\Message\ResponseFactory; |
10 | 11 | use HttpSoft\Message\ResponseTrait; |
| 12 | +use HttpSoft\Message\ServerRequest; |
11 | 13 | use HttpSoft\Message\ServerRequestFactory; |
12 | 14 | use InvalidArgumentException; |
13 | 15 | use LogicException; |
@@ -41,18 +43,26 @@ public function testCode(): void |
41 | 43 |
|
42 | 44 | public function testCallable(): void |
43 | 45 | { |
| 46 | + $request = new ServerRequest(headers: ['X-TEST' => ['HELLO']]); |
44 | 47 | $middleware = $this->createMiddleware([ |
45 | | - DomainException::class => function (ResponseFactoryInterface $responseFactory) { |
46 | | - return $responseFactory->createResponse(Status::CREATED); |
47 | | - }, |
| 48 | + DomainException::class => |
| 49 | + static function (ResponseFactoryInterface $responseFactory, ServerRequestInterface $request) { |
| 50 | + return $responseFactory->createResponse(Status::CREATED, $request->getHeaderLine('X-TEST')); |
| 51 | + }, |
48 | 52 | ]); |
49 | 53 |
|
50 | | - $this->assertSame( |
51 | | - Status::CREATED, |
52 | | - $this |
53 | | - ->process($middleware) |
54 | | - ->getStatusCode(), |
| 54 | + $response = $middleware->process( |
| 55 | + $request, |
| 56 | + new class () implements RequestHandlerInterface { |
| 57 | + public function handle(ServerRequestInterface $request): ResponseInterface |
| 58 | + { |
| 59 | + throw new DomainException(); |
| 60 | + } |
| 61 | + }, |
55 | 62 | ); |
| 63 | + |
| 64 | + $this->assertSame(Status::CREATED, $response->getStatusCode()); |
| 65 | + $this->assertSame('HELLO', $response->getReasonPhrase()); |
56 | 66 | } |
57 | 67 |
|
58 | 68 | public function testAnotherException(): void |
|
0 commit comments