renderInline( '

{{ name }}

', [ 'name' => 'Dave' ] ); } }; $app = $this->getAppInstance(); $app->get('/test', $testController); $request = $this->createRequest('GET', '/test'); $response = $app->handle($request); $this->assertEquals('

Dave

', $response->getBody()); } public function testHtmlInlineResponseCodes(): void { $testController = new class extends Controller { public function respond(): Response { $response = $this->renderInline( '

{{ name }}

', [ 'name' => 'Oh no!' ] ); return $response->withStatus(400); } }; $app = $this->getAppInstance(); $app->get('/test', $testController); $request = $this->createRequest('GET', '/test'); $response = $app->handle($request); $this->assertEquals(400, $response->getStatusCode()); $this->assertEquals('

Oh no!

', $response->getBody()); $this->assertEquals('text/html', $response->getHeaderLine('Content-Type')); } public function testJsonResponse(): void { $testController = new class extends Controller { public function respond(): Response { return $this->json([ 'data' => 'hello' ]); } }; $app = $this->getAppInstance(); $app->get('/test', $testController); $request = $this->createRequest('GET', '/test'); $response = $app->handle($request); $this->assertEquals('{"data":"hello"}', $response->getBody()); $this->assertEquals( 'application/json', $response->getHeaderLine('Content-Type') ); } /** * We have some Global variables set in the Configuration, for now its * hardcoded in the Bootstrap class. */ public function testRenderSiteName(): void { $testController = new class extends Controller { public function respond(): Response { return $this->renderInline("

{{ site_name }}

"); } }; $app = $this->getAppInstance(); $app->get('/test', $testController); $request = $this->createRequest('GET', '/test'); $response = $app->handle($request); $this->assertEquals('

Slovocast

', $response->getBody()); } }