function testActionRoute() { $routes = new RouteCollection(); $route = new Route('/foo', 'foo@bar'); $routes->add($route, 'foo'); $this->assertEquals($route, $routes->getByAction('foo@bar')); }
function testSchemes() { $routes = new RouteCollection(); $route = new Route('/foo/{id}/bar/{name}', ''); $route->setSchemes(['https']); $routes->add($route); $context = RequestContext::create(); $context->setScheme('https'); $this->assertEquals(['https'], $route->getSchemes()); $this->assertEquals('https', $context->getScheme()); $matcher = new Matcher($context); $this->assertEquals($route, $matcher->match('/foo/100/bar/steven', $routes)); $context->setScheme('http'); $this->setExpectedExceptionRegExp('Slince\\Routing\\Exception\\RouteNotFoundException'); $matcher->match('/foo/100/bar/steven', $routes); }