7 use Symfony\Component\HttpFoundation\Request;
8 use Symfony\Component\HttpKernel\HttpKernelInterface;
10 class SilexApplicationTest extends \PHPUnit_Framework_TestCase
12 public function testWithAppendMiddlewares()
14 $app = new Application();
16 $app->get('/foo', function () {
22 $app->finish(function () use (&$finished) {
26 $stack = new Builder();
28 ->push('functional\Append', '.A')
29 ->push('functional\Append', '.B');
31 $app = $stack->resolve($app);
33 $request = Request::create('/foo');
34 $response = $app->handle($request);
35 $app->terminate($request, $response);
37 $this->assertSame('bar.B.A', $response->getContent());
38 $this->assertTrue($finished);
42 class Append implements HttpKernelInterface
47 public function __construct(HttpKernelInterface $app, $appendix)
50 $this->appendix = $appendix;
53 public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true)
55 $response = clone $this->app->handle($request, $type, $catch);
56 $response->setContent($response->getContent().$this->appendix);