diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2014-01-16 11:19:08 -0800 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2014-01-16 11:19:08 -0800 |
commit | f19ba681a80c0b0be604c58389ce2892c623d027 (patch) | |
tree | b8020f0e30d6dc93823e5fe9c6fe16a9ada67b74 /actionpack | |
parent | f3e379f0c97149bb29a63dc9db8a2836addcd957 (diff) | |
parent | 73ba2c14cd7d7dfb2d132b18c47ade995401736f (diff) | |
download | rails-f19ba681a80c0b0be604c58389ce2892c623d027.tar.gz rails-f19ba681a80c0b0be604c58389ce2892c623d027.tar.bz2 rails-f19ba681a80c0b0be604c58389ce2892c623d027.zip |
Merge branch 'master' into adequaterecord
* master:
Make AR::Base#touch fire the after_commit and after_rollback callbacks
Fix test for cache_key + touched
Revert "methods are defined right after the module_eval, so we don't need to do"
Revert "Don't remove trailing slash from PATH_INFO for mounted apps"
Add failing test for #13369
reset column information after fiddling with `Encoding.default_internal`
we have `with_env_tz` as global test helper. Remove duplicate.
isolate class attribute assignment in `migration_test.rb`
use `teardown` for cleanup, not `setup`.
tests without transactional fixtures need to cleanup afterwards.
no need to `return skip` in tests. `skip` is enough.
methods are defined right after the module_eval, so we don't need to do any line number maths
Get rid of unused TransactionError constant
Avoid converting :on option to array twice when defining commit/rollback callbacks
Unify changelog entries about single quotes [ci skip]
Use single quotes in generated files
Diffstat (limited to 'actionpack')
-rw-r--r-- | actionpack/CHANGELOG.md | 6 | ||||
-rw-r--r-- | actionpack/lib/action_dispatch/journey/router.rb | 8 | ||||
-rw-r--r-- | actionpack/test/dispatch/mount_test.rb | 5 | ||||
-rw-r--r-- | actionpack/test/dispatch/routing_test.rb | 18 |
4 files changed, 19 insertions, 18 deletions
diff --git a/actionpack/CHANGELOG.md b/actionpack/CHANGELOG.md index dc98fb583c..24dc207656 100644 --- a/actionpack/CHANGELOG.md +++ b/actionpack/CHANGELOG.md @@ -431,10 +431,4 @@ *Piotr Sarnacki*, *Łukasz Strzałkowski* -* Fix removing trailing slash for mounted apps. - - Fixes #3215. - - *Piotr Sarnacki* - Please check [4-0-stable](https://github.com/rails/rails/blob/4-0-stable/actionpack/CHANGELOG.md) for previous changes. diff --git a/actionpack/lib/action_dispatch/journey/router.rb b/actionpack/lib/action_dispatch/journey/router.rb index da32f1bfe7..419e665d12 100644 --- a/actionpack/lib/action_dispatch/journey/router.rb +++ b/actionpack/lib/action_dispatch/journey/router.rb @@ -54,7 +54,7 @@ module ActionDispatch end def call(env) - env['PATH_INFO'] = normalize_path(env['PATH_INFO']) + env['PATH_INFO'] = Utils.normalize_path(env['PATH_INFO']) find_routes(env).each do |match, parameters, route| script_name, path_info, set_params = env.values_at('SCRIPT_NAME', @@ -103,12 +103,6 @@ module ActionDispatch private - def normalize_path(path) - path = "/#{path}" - path.squeeze!('/') - path - end - def partitioned_routes routes.partitioned_routes end diff --git a/actionpack/test/dispatch/mount_test.rb b/actionpack/test/dispatch/mount_test.rb index 683a4f01e2..cdf00d84fb 100644 --- a/actionpack/test/dispatch/mount_test.rb +++ b/actionpack/test/dispatch/mount_test.rb @@ -44,11 +44,6 @@ class TestRoutingMount < ActionDispatch::IntegrationTest "A named route should be defined with a parent's prefix" end - def test_trailing_slash_is_not_removed_from_path_info - get "/sprockets/omg/" - assert_equal "/sprockets -- /omg/", response.body - end - def test_mounting_sets_script_name get "/sprockets/omg" assert_equal "/sprockets -- /omg", response.body diff --git a/actionpack/test/dispatch/routing_test.rb b/actionpack/test/dispatch/routing_test.rb index 5a532dc38f..795911497e 100644 --- a/actionpack/test/dispatch/routing_test.rb +++ b/actionpack/test/dispatch/routing_test.rb @@ -2894,6 +2894,24 @@ class TestRoutingMapper < ActionDispatch::IntegrationTest assert_equal '/foo', foo_root_path end + def test_trailing_slash + draw do + resources :streams + end + + get '/streams' + assert @response.ok?, 'route without trailing slash should work' + + get '/streams/' + assert @response.ok?, 'route with trailing slash should work' + + get '/streams?foobar' + assert @response.ok?, 'route without trailing slash and with QUERY_STRING should work' + + get '/streams/?foobar' + assert @response.ok?, 'route with trailing slash and with QUERY_STRING should work' + end + private def draw(&block) |