Added param parser

This commit is contained in:
Sdogruyol 2015-10-28 20:30:27 +02:00
parent a8ad95aa67
commit 3cc50e0a7e
8 changed files with 72 additions and 52 deletions

View file

@ -4,18 +4,21 @@ describe "Route" do
describe "match" do
it "doesn't match because of route" do
route = Route.new("GET", "/foo/bar") { "" }
route.match("GET", "/foo/baz".split("/")).should be_nil
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") { "" }
route.match("POST", "/foo/bar".split("/")).should be_nil
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") { "" }
params = route.match("GET", "/foo/uno/path/dos".split("/"))
params.should eq({"one" => "uno", "two" => "dos"})
request = HTTP::Request.new("GET", "/foo/uno/path/dos")
match = route.match?(request)
match.should eq true
end
end
end