Пример #1
0
 /**
  * Test Slim::pass continues, but next matching route not found
  *
  * Pre-conditions:
  * You have initialized a Slim application with one accesible route.
  * The first matching route should be the most specific and should
  * invoke Slim::pass().
  *
  * Post-conditions:
  * No second matching route is found, and a HTTP 404 response is
  * sent to the client.
  */
 public function testSlimPassWithoutFallbackRoute() {
     $this->setExpectedException('Slim_Exception_Stop');
     $_SERVER['REQUEST_URI'] = "/name/Frank";
     Slim::init();
     Slim::get('name/Frank', function (){
         echo "Your name is Frank";
         Slim::pass();
     });
     Slim::run();
     $this->assertEquals(Slim::response()->status(), 404);
 }
Пример #2
0
 /**
  * Test that app returns 404 response when matched, invoked route calls
  * $app->pass(); there are no subsequent matching routes.
  */
 public function testInvokedRoutePassesWithoutSubsequentRoutes()
 {
     $_SERVER['REQUEST_URI'] = "/foo";
     $_SERVER['REQUEST_METHOD'] = 'GET';
     $app = new Slim();
     $app->map('/foo', function () use($app) {
         $app->pass();
         echo "Foo GET";
     })->via('GET');
     $app->run();
     $this->assertEquals(404, $app->response()->status());
 }
Пример #3
0
 /**
  * Test pass when there is not a subsequent fallback route
  */
 public function testPassWithoutSubsequentRoute()
 {
     Slim_Environment::mock(array('SCRIPT_NAME' => '/foo', 'PATH_INFO' => '/name/Frank'));
     $s = new Slim();
     $s->get('/name/Frank', function () use($s) {
         echo "Fail";
         //<-- Should not be in response body!
         $s->pass();
     });
     $s->call();
     $this->assertEquals(404, $s->response()->status());
 }
Пример #4
0
 /**
  * Test pass when there is not a subsequent fallback route
  */
 public function testPassWithoutSubsequentRoute()
 {
     Slim_Environment::mock(array('REQUEST_METHOD' => 'GET', 'REMOTE_ADDR' => '127.0.0.1', 'SCRIPT_NAME' => '/foo', 'PATH_INFO' => '/name/Frank', '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();
     $s->get('/name/Frank', function () use($s) {
         echo "Fail";
         //<-- Should not be in response body!
         $s->pass();
     });
     $env = $s->environment();
     list($status, $header, $body) = $s->call($env);
     $this->assertEquals(404, $status);
 }