33 lines
		
	
	
		
			923 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			33 lines
		
	
	
		
			923 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
| 
								 | 
							
								<?php
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace think\tests;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								use GuzzleHttp\Psr7\Response;
							 | 
						||
| 
								 | 
							
								use Mockery;
							 | 
						||
| 
								 | 
							
								use PHPUnit\Framework\TestCase;
							 | 
						||
| 
								 | 
							
								use think\Request;
							 | 
						||
| 
								 | 
							
								use think\route\Dispatch;
							 | 
						||
| 
								 | 
							
								use think\route\Rule;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class DispatchTest extends TestCase
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    public function testPsr7Response()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $request = Mockery::mock(Request::class);
							 | 
						||
| 
								 | 
							
								        $rule = Mockery::mock(Rule::class);
							 | 
						||
| 
								 | 
							
								        $dispatch = new class($request, $rule, '') extends Dispatch {
							 | 
						||
| 
								 | 
							
								            public function exec()
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return new Response(200, ['framework' => ['tp', 'thinkphp'], 'psr' => 'psr-7'], '123');
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								        };
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $response = $dispatch->run();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->assertInstanceOf(\think\Response::class, $response);
							 | 
						||
| 
								 | 
							
								        $this->assertEquals('123', $response->getContent());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals('tp, thinkphp', $response->getHeader('framework'));
							 | 
						||
| 
								 | 
							
								        $this->assertEquals('psr-7', $response->getHeader('psr'));
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 |