add tests for named captures
Signed-off-by: Konstantin Haase <konstantin.mailinglists@googlemail.com>
This commit is contained in:
parent
8d0fb79c59
commit
0428794e66
|
@ -179,6 +179,36 @@ class RoutingTest < Test::Unit::TestCase
|
||||||
assert_equal "foo=;bar=", body
|
assert_equal "foo=;bar=", body
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it "supports named captures like %r{/hello/(?<person>[^/?#]+)}" do
|
||||||
|
mock_app {
|
||||||
|
get %r{/hello/(?<person>[^/?#]+)} do
|
||||||
|
"Hello #{params['person']}"
|
||||||
|
end
|
||||||
|
}
|
||||||
|
get '/hello/Frank'
|
||||||
|
assert_equal 'Hello Frank', body
|
||||||
|
end
|
||||||
|
|
||||||
|
it "supports optional named captures like %r{/page(?<format>.[^/?#]+)?}" do
|
||||||
|
mock_app {
|
||||||
|
get %r{/page(?<format>.[^/?#]+)?} do
|
||||||
|
"format=#{params[:format]}"
|
||||||
|
end
|
||||||
|
}
|
||||||
|
|
||||||
|
get '/page.html'
|
||||||
|
assert ok?
|
||||||
|
assert_equal "format=.html", body
|
||||||
|
|
||||||
|
get '/page.xml'
|
||||||
|
assert ok?
|
||||||
|
assert_equal "format=.xml", body
|
||||||
|
|
||||||
|
get '/page'
|
||||||
|
assert ok?
|
||||||
|
assert_equal "format=", body
|
||||||
|
end
|
||||||
|
|
||||||
it "supports single splat params like /*" do
|
it "supports single splat params like /*" do
|
||||||
mock_app {
|
mock_app {
|
||||||
get '/*' do
|
get '/*' do
|
||||||
|
|
Loading…
Reference in New Issue