public function testMatch() { /** @var Route $route */ $route = $this->matcher->match($this->coll, '/blog/3/')->current(); self::assertEquals('/blog/{id}/', $route->getPath()); self::assertEquals(['id' => '3'], $route->getMatches()); }
public function testMiddleware() { $route = new Route('/profile/{name}/', function ($name) { return $name; }); $route->pushMiddleware(new CallWithMatchParams()); $coll = new CollectionRoute(); $coll->add('profile', $route); $path = '/profile/alex/'; $matcher = new Matcher(new RouteService()); $activeRoute = $matcher->match($coll, $path)->current(); self::assertEquals('alex', $activeRoute(new Request($path))); }