public function testDispatchWithoutCallable() { \Slim\Environment::mock(array('REQUEST_METHOD' => 'GET', 'REMOTE_ADDR' => '127.0.0.1', 'SCRIPT_NAME' => '', 'PATH_INFO' => '/hello/josh', 'QUERY_STRING' => 'one=1&two=2&three=3', 'SERVER_NAME' => 'slim', 'SERVER_PORT' => 80, 'slim.url_scheme' => 'http', 'slim.input' => '', 'slim.errors' => fopen('php://stderr', 'w'), 'HTTP_HOST' => 'slim')); $env = \Slim\Environment::getInstance(); $req = new \Slim\Http\Request($env); $router = new \Slim\Router(); $router->setResourceUri($req->getResourceUri()); $route = new \Slim\Route('/hello/:name', 'foo'); $route->matches($req->getResourceUri()); //<-- Extracts params from resource URI $this->assertFalse($router->dispatch($route)); }
/** * Test get [script name, root uri, path, path info, resource uri] in root directory with htaccess */ public function testAppPathsInRootDirectoryWithHtaccess() { $env = \Slim\Environment::mock(array('SCRIPT_NAME' => '', 'PATH_INFO' => '/bar/xyz')); $req = new \Slim\Http\Request($env); $this->assertEquals('', $req->getScriptName()); $this->assertEquals('', $req->getRootUri()); $this->assertEquals('/bar/xyz', $req->getPath()); $this->assertEquals('/bar/xyz', $req->getPathInfo()); $this->assertEquals('/bar/xyz', $req->getResourceUri()); }
public function testRouteMiddlwareArguments() { $this->expectOutputString('foobar'); \Slim\Environment::mock(array('SCRIPT_NAME' => '', 'PATH_INFO' => '/foo')); $env = \Slim\Environment::getInstance(); $req = new \Slim\Http\Request($env); $router = new \Slim\Router(); $route = new \Slim\Route('/foo', function () { echo "bar"; }); $route->setName('foo'); $route->setMiddleware(function ($route) { echo $route->getName(); }); $route->matches($req->getResourceUri()); //<-- Extracts params from resource URI $router->dispatch($route); }