See RFC 3986, section 3.3 for allowed path characters.
Methods
- S
- T
Included Modules
Instance Public methods
setup()
Link
# File actionpack/test/controller/routing_test.rb, line 17 def setup @set = ActionDispatch::Routing::RouteSet.new @set.draw do get ':controller/:action/:variable/*additional' end safe, unsafe = %w(: @ & = + $ , ;), %w(^ ? # [ ]) hex = unsafe.map { |char| '%' + char.unpack('H2').first.upcase } @segment = "#{safe.join}#{unsafe.join}".freeze @escaped = "#{safe.join}#{hex.join}".freeze end
test_route_generation_allows_passing_non_string_values_to_generated_helper()
Link
# File actionpack/test/controller/routing_test.rb, line 48 def test_route_generation_allows_passing_non_string_values_to_generated_helper assert_equal "/content/action/variable/1/2", url_for(@set, { :controller => "content", :action => "action", :variable => "variable", :additional => [1, 2] }) end
test_route_generation_escapes_unsafe_path_characters()
Link
# File actionpack/test/controller/routing_test.rb, line 30 def test_route_generation_escapes_unsafe_path_characters assert_equal "/content/act#{@escaped}ion/var#{@escaped}iable/add#{@escaped}itional-1/add#{@escaped}itional-2", url_for(@set, { :controller => "content", :action => "act#{@segment}ion", :variable => "var#{@segment}iable", :additional => ["add#{@segment}itional-1", "add#{@segment}itional-2"] }) end
test_route_recognition_unescapes_path_components()
Link
# File actionpack/test/controller/routing_test.rb, line 40 def test_route_recognition_unescapes_path_components options = { :controller => "content", :action => "act#{@segment}ion", :variable => "var#{@segment}iable", :additional => "add#{@segment}itional-1/add#{@segment}itional-2" } assert_equal options, @set.recognize_path("/content/act#{@escaped}ion/var#{@escaped}iable/add#{@escaped}itional-1/add#{@escaped}itional-2") end