From 33841a9db3e560ef062d36d14ea07f7d71dd65ab Mon Sep 17 00:00:00 2001 From: Yves Senn Date: Wed, 2 Jan 2013 21:11:16 +0100 Subject: Backport #8701, do not append a second slash with `trailing_slash: true` --- actionpack/test/controller/routing_test.rb | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) (limited to 'actionpack/test/controller') diff --git a/actionpack/test/controller/routing_test.rb b/actionpack/test/controller/routing_test.rb index 7079a6ff90..becb928a3c 100644 --- a/actionpack/test/controller/routing_test.rb +++ b/actionpack/test/controller/routing_test.rb @@ -58,13 +58,13 @@ class UriReservedCharactersRoutingTest < Test::Unit::TestCase end class MockController - def self.build(helpers) + def self.build(helpers, additional_options = {}) Class.new do - def url_for(options) + define_method :url_for do |options| options[:protocol] ||= "http" options[:host] ||= "test.host" - super(options) + super(options.merge(additional_options)) end include helpers @@ -468,8 +468,8 @@ class LegacyRouteSetTests < Test::Unit::TestCase routes.send(:pages_url) end - def setup_for_named_route - MockController.build(rs.url_helpers).new + def setup_for_named_route(options = {}) + MockController.build(rs.url_helpers, options).new end def test_named_route_without_hash @@ -487,6 +487,16 @@ class LegacyRouteSetTests < Test::Unit::TestCase assert_equal("/", routes.send(:root_path)) end + def test_named_route_root_with_trailing_slash + rs.draw do + root :to => "hello#index" + end + + routes = setup_for_named_route(trailing_slash: true) + assert_equal("http://test.host/", routes.send(:root_url)) + assert_equal("http://test.host/?foo=bar", routes.send(:root_url, foo: :bar)) + end + def test_named_route_with_regexps rs.draw do match 'page/:year/:month/:day/:title' => 'page#show', :as => 'article', -- cgit v1.2.3