Beispiel #1
0
 /**
  * Test Slim DELETE route with middleware
  *
  * Pre-conditions:
  * Slim app instatiated and run;
  * One OPTIONS route defined with middleware;
  *
  * Post-conditions:
  * The OPTIONS route and its middleware are invoked in sequence;
  */
 public function testSlimOptionsRouteWithMiddleware()
 {
     $_SERVER['REQUEST_METHOD'] = 'OPTIONS';
     $app = new Slim();
     $mw1 = function () {
         echo "foo";
     };
     $mw2 = function () {
         echo "bar";
     };
     $callable = function () {
         echo "foo";
     };
     $route = $app->options('/', $mw1, $mw2, $callable);
     $this->expectOutputString('foobarfoo');
     $app->run();
 }
Beispiel #2
0
 /**
  * Test OPTIONS route
  */
 public function testOptionsRoute()
 {
     Slim_Environment::mock(array('REQUEST_METHOD' => 'OPTIONS', 'SCRIPT_NAME' => '/foo', 'PATH_INFO' => '/bar'));
     $s = new Slim();
     $mw1 = function () {
         echo "foo";
     };
     $mw2 = function () {
         echo "bar";
     };
     $callable = function () {
         echo "xyz";
     };
     $route = $s->options('/bar', $mw1, $mw2, $callable);
     $s->call();
     $this->assertEquals('foobarxyz', $s->response()->body());
     $this->assertEquals('/bar', $route->getPattern());
     $this->assertSame($callable, $route->getCallable());
 }
Beispiel #3
0
 /**
  * Test OPTIONS route
  */
 public function testOptionsRoute()
 {
     Slim_Environment::mock(array('REQUEST_METHOD' => 'OPTIONS', 'REMOTE_ADDR' => '127.0.0.1', 'SCRIPT_NAME' => '/foo', 'PATH_INFO' => '/bar', 'QUERY_STRING' => 'one=foo&two=bar', 'SERVER_NAME' => 'slimframework.com', 'SERVER_PORT' => 80, 'slim.url_scheme' => 'http', 'slim.input' => '', 'slim.errors' => @fopen('php://stderr', 'w')));
     $s = new Slim();
     $mw1 = function () {
         echo "foo";
     };
     $mw2 = function () {
         echo "bar";
     };
     $callable = function () {
         echo "xyz";
     };
     $route = $s->options('/bar', $mw1, $mw2, $callable);
     $env = $s->environment();
     list($status, $header, $body) = $s->call($env);
     $this->assertEquals('foobarxyz', $body);
     $this->assertEquals('/bar', $route->getPattern());
     $this->assertSame($callable, $route->getCallable());
 }