예제 #1
0
 public function testCompositor()
 {
     $compositor = new Compositor();
     $compositor->enable('Pux\\Middleware\\TryCatchMiddleware', ['throw' => true]);
     $compositor->enable(function ($app) {
         return function (array &$environment, array $response) use($app) {
             $environment['middleware.app'] = true;
             return $app($environment, $response);
         };
     });
     // TODO
     // $compositor->mount('/foo', function() {  });
     $compositor->app(function (array &$environment, array $response) {
         $request = RouteRequest::createFromEnv($environment);
         // $mux = new Mux;
         if ($request->pathStartWith('/foo')) {
         }
         $response[0] = 200;
         return $response;
     });
     $app = $compositor->wrap();
     $env = Utils::createEnv('GET', '/foo');
     $res = [];
     $res = $app($env, $res);
     $this->assertNotEmpty($res);
     $this->assertEquals(200, $res[0]);
 }
예제 #2
0
 public function testMiddleware()
 {
     $app = function (array $environment, array $response) {
         $request = RouteRequest::createFromEnv($environment);
         return $response;
     };
     $middleware = new TryCatchMiddleware($app);
     $middleware2 = new TryCatchMiddleware($middleware);
     // $request = RouteRequest::create('GET', '/path');
     $env = Utils::createGlobals('GET', '/foo');
     $response = $middleware2($env, [200, [], []]);
     $this->assertNotEmpty($response);
 }