mirror of
https://github.com/sinatra/sinatra
synced 2023-03-27 23:18:01 -04:00
Add tests for trailing slashes in the path
Related to #1107 The router treats paths with trailing slashes different from the ones without. Add tests for this and also mention it in the README. Following @zzak's [comment](https://github.com/sinatra/sinatra/issues/1107#issuecomment-217849114).
This commit is contained in:
parent
1e75f50aa5
commit
af7284fbf9
2 changed files with 27 additions and 0 deletions
|
@ -160,6 +160,14 @@ end
|
|||
Routes are matched in the order they are defined. The first route that
|
||||
matches the request is invoked.
|
||||
|
||||
Routes with trailing slashes are different from the ones without:
|
||||
|
||||
```ruby
|
||||
get '/foo' do
|
||||
# Does not match "GET /foo/"
|
||||
end
|
||||
```
|
||||
|
||||
Route patterns may include named parameters, accessible via the
|
||||
`params` hash:
|
||||
|
||||
|
|
|
@ -1452,4 +1452,23 @@ class RoutingTest < Minitest::Test
|
|||
end
|
||||
get '/users/1/status'
|
||||
end
|
||||
|
||||
it 'treats routes with and without trailing slashes differently' do
|
||||
mock_app do
|
||||
get '/foo' do
|
||||
'Foo'
|
||||
end
|
||||
|
||||
get '/foo/' do
|
||||
'Foo with a slash'
|
||||
end
|
||||
end
|
||||
|
||||
get '/foo'
|
||||
assert_equal 'Foo', body
|
||||
refute_equal 'Foo with a slash', body
|
||||
|
||||
get '/foo/'
|
||||
assert_equal 'Foo with a slash', body
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue