require "./spec_helper" describe "Route" do describe "match?" do it "doesn't match because of route" do route = Route.new("GET", "/foo/bar") { "" } request = HTTP::Request.new("GET", "/world?message=coco") route.match?(request).should be_nil end it "doesn't match because of method" do route = Route.new("GET", "/foo/bar") { "" } request = HTTP::Request.new("POST", "/foo/bar") route.match?(request).should be_nil end it "matches" do route = Route.new("GET", "/foo/:one/path/:two") { "" } request = HTTP::Request.new("GET", "/foo/uno/path/dos") match = route.match?(request) match.should eq true end it "matches the correct route" do kemal = Kemal::Handler.new kemal.add_route "GET", "/route1" do |env| "Route 1" end kemal.add_route "GET", "/route2" do |env| "Route 2" end request = HTTP::Request.new("GET", "/route2") response = kemal.call(request) response.body.should eq("Route 2") end end end