Example #1
0
 public function testGroupSlashSensitive()
 {
     $router = new Router();
     $router->get('', function () {
         return '/!';
     });
     $router->group('/hello', function () use($router) {
         $router->get('', function () {
             return '/hello!';
         });
         $router->get('/', function () {
             return '/hello/!';
         });
         $router->get('///abc', function () {
             return '/hello///abc!';
         });
     });
     $mockRequest = Mockery::mock(ServerRequestInterface::class);
     $mockRequest->shouldReceive('getParsedBody')->andReturn([]);
     $mockRequest->shouldReceive('getMethod')->andReturn('GET');
     $mockRequest->shouldReceive('getUri->getPath')->andReturn('/hello');
     $this->assertEquals('/hello!', $router->dispatch($mockRequest));
     $mockRequest = Mockery::mock(ServerRequestInterface::class);
     $mockRequest->shouldReceive('getParsedBody')->andReturn([]);
     $mockRequest->shouldReceive('getMethod')->andReturn('GET');
     $mockRequest->shouldReceive('getUri->getPath')->andReturn('/hello/');
     $this->assertEquals('/hello/!', $router->dispatch($mockRequest));
     $mockRequest = Mockery::mock(ServerRequestInterface::class);
     $mockRequest->shouldReceive('getParsedBody')->andReturn([]);
     $mockRequest->shouldReceive('getMethod')->andReturn('GET');
     $mockRequest->shouldReceive('getUri->getPath')->andReturn('/hello///abc');
     $this->assertEquals('/hello///abc!', $router->dispatch($mockRequest));
 }