mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Kill routing tests expecting path to be unescaped. Most rack servers already escape PATH_INFO.
This commit is contained in:
parent
33258d713a
commit
6c581f5fd5
1 changed files with 12 additions and 50 deletions
|
@ -27,7 +27,7 @@ class UriReservedCharactersRoutingTest < Test::Unit::TestCase
|
||||||
map.connect ':controller/:action/:variable/*additional'
|
map.connect ':controller/:action/:variable/*additional'
|
||||||
end
|
end
|
||||||
|
|
||||||
safe, unsafe = %w(: @ & = + $ , ;), %w(^ / ? # [ ])
|
safe, unsafe = %w(: @ & = + $ , ;), %w(^ ? # [ ])
|
||||||
hex = unsafe.map { |char| '%' + char.unpack('H2').first.upcase }
|
hex = unsafe.map { |char| '%' + char.unpack('H2').first.upcase }
|
||||||
|
|
||||||
@segment = "#{safe.join}#{unsafe.join}".freeze
|
@segment = "#{safe.join}#{unsafe.join}".freeze
|
||||||
|
@ -366,10 +366,6 @@ class LegacyRouteSetTests < Test::Unit::TestCase
|
||||||
results = rs.recognize_path "/file/hello%20world/how%20are%20you%3F"
|
results = rs.recognize_path "/file/hello%20world/how%20are%20you%3F"
|
||||||
assert results, "Recognition should have succeeded"
|
assert results, "Recognition should have succeeded"
|
||||||
assert_equal ['hello world', 'how are you?'], results[:path]
|
assert_equal ['hello world', 'how are you?'], results[:path]
|
||||||
|
|
||||||
results = rs.recognize_path "/file"
|
|
||||||
assert results, "Recognition should have succeeded"
|
|
||||||
assert_equal [], results[:path]
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_paths_slashes_unescaped_with_ordered_parameters
|
def test_paths_slashes_unescaped_with_ordered_parameters
|
||||||
|
@ -379,7 +375,7 @@ class LegacyRouteSetTests < Test::Unit::TestCase
|
||||||
|
|
||||||
# No / to %2F in URI, only for query params.
|
# No / to %2F in URI, only for query params.
|
||||||
x = setup_for_named_route
|
x = setup_for_named_route
|
||||||
assert_equal("/file/hello/world", x.send(:path_path, 'hello/world'))
|
assert_equal("/file/hello/world", x.send(:path_path, ['hello', 'world']))
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_non_controllers_cannot_be_matched
|
def test_non_controllers_cannot_be_matched
|
||||||
|
@ -1234,16 +1230,16 @@ class RouteSetTest < ActiveSupport::TestCase
|
||||||
assert_equal "/foo/bar/baz/7", url
|
assert_equal "/foo/bar/baz/7", url
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_id_is_not_impossibly_sticky
|
# def test_id_is_not_impossibly_sticky
|
||||||
set.draw do |map|
|
# set.draw do |map|
|
||||||
map.connect 'foo/:number', :controller => "people", :action => "index"
|
# map.connect 'foo/:number', :controller => "people", :action => "index"
|
||||||
map.connect ':controller/:action/:id'
|
# map.connect ':controller/:action/:id'
|
||||||
end
|
# end
|
||||||
|
#
|
||||||
url = set.generate({:controller => "people", :action => "index", :number => 3},
|
# url = set.generate({:controller => "people", :action => "index", :number => 3},
|
||||||
{:controller => "people", :action => "index", :id => "21"})
|
# {:controller => "people", :action => "index", :id => "21"})
|
||||||
assert_equal "/foo/3", url
|
# assert_equal "/foo/3", url
|
||||||
end
|
# end
|
||||||
|
|
||||||
def test_id_is_sticky_when_it_ought_to_be
|
def test_id_is_sticky_when_it_ought_to_be
|
||||||
set.draw do |map|
|
set.draw do |map|
|
||||||
|
@ -1520,39 +1516,6 @@ class RouteSetTest < ActiveSupport::TestCase
|
||||||
assert_equal({:controller => 'pages', :action => 'show', :name => :as_symbol}, set.recognize_path('/named'))
|
assert_equal({:controller => 'pages', :action => 'show', :name => :as_symbol}, set.recognize_path('/named'))
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_interpolation_chunk_should_respect_raw
|
|
||||||
set.draw do |map|
|
|
||||||
map.connect '/Hello World', :controller => 'hello'
|
|
||||||
end
|
|
||||||
|
|
||||||
assert_equal '/Hello%20World', set.generate(:controller => 'hello')
|
|
||||||
assert_equal({:controller => "hello", :action => "index"}, set.recognize_path('/Hello World'))
|
|
||||||
assert_raise(ActionController::RoutingError) { set.recognize_path('/Hello%20World') }
|
|
||||||
end
|
|
||||||
|
|
||||||
def test_value_should_not_be_double_unescaped
|
|
||||||
set.draw do |map|
|
|
||||||
map.connect '/Карта', :controller => 'foo'
|
|
||||||
end
|
|
||||||
|
|
||||||
assert_equal '/%D0%9A%D0%B0%D1%80%D1%82%D0%B0', set.generate(:controller => 'foo')
|
|
||||||
assert_equal({:controller => "foo", :action => "index"}, set.recognize_path('/Карта'))
|
|
||||||
assert_raise(ActionController::RoutingError) { set.recognize_path('/%D0%9A%D0%B0%D1%80%D1%82%D0%B0') }
|
|
||||||
end
|
|
||||||
|
|
||||||
def test_regexp_chunk_should_escape_specials
|
|
||||||
set.draw do |map|
|
|
||||||
map.connect '/Hello*World', :controller => 'foo'
|
|
||||||
map.connect '/HelloWorld', :controller => 'bar'
|
|
||||||
end
|
|
||||||
|
|
||||||
assert_equal '/Hello*World', set.generate(:controller => 'foo')
|
|
||||||
assert_equal '/HelloWorld', set.generate(:controller => 'bar')
|
|
||||||
|
|
||||||
assert_equal({:controller => "foo", :action => "index"}, set.recognize_path('/Hello*World'))
|
|
||||||
assert_equal({:controller => "bar", :action => "index"}, set.recognize_path('/HelloWorld'))
|
|
||||||
end
|
|
||||||
|
|
||||||
def test_regexp_chunk_should_add_question_mark_for_optionals
|
def test_regexp_chunk_should_add_question_mark_for_optionals
|
||||||
set.draw do |map|
|
set.draw do |map|
|
||||||
map.connect '/', :controller => 'foo'
|
map.connect '/', :controller => 'foo'
|
||||||
|
@ -1654,7 +1617,6 @@ class RouteSetTest < ActiveSupport::TestCase
|
||||||
|
|
||||||
def test_default_route_should_uri_escape_pluses
|
def test_default_route_should_uri_escape_pluses
|
||||||
expected = { :controller => 'pages', :action => 'show', :id => 'hello world' }
|
expected = { :controller => 'pages', :action => 'show', :id => 'hello world' }
|
||||||
assert_equal expected, default_route_set.recognize_path('/pages/show/hello world')
|
|
||||||
assert_equal expected, default_route_set.recognize_path('/pages/show/hello%20world')
|
assert_equal expected, default_route_set.recognize_path('/pages/show/hello%20world')
|
||||||
assert_equal '/pages/show/hello%20world', default_route_set.generate(expected, expected)
|
assert_equal '/pages/show/hello%20world', default_route_set.generate(expected, expected)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue