Permalink
Browse files

Update UrlWriter to accept :anchor parameter. Closes #6771.

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6648 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
  • Loading branch information...
1 parent 8f5c83b commit 5a3bb880db43f7bfba3a2838841baaff3d9050af @seckar seckar committed May 2, 2007
@@ -1,5 +1,7 @@
*SVN*
+* Update UrlWriter to accept :anchor parameter. Closes #6771. [octopod]
+
* Added RecordTagHelper for using RecordIdentifier conventions on divs and other container elements [DHH]. Example:
<% div_for(post) do %> <div id="post_45" class="post">
@@ -51,7 +51,9 @@ def url_for(options)
[:protocol, :host, :port].each { |k| options.delete k }
end
+ anchor = "##{CGI.escape options.delete(:anchor).to_param.to_s}" if options.key?(:anchor)
url << Routing::Routes.generate(options, {})
+ url << anchor if anchor
return url
end
@@ -36,6 +36,13 @@ def test_user_name_and_password_with_escape_codes
@rewriter.rewrite(:user => "openid.aol.com/nextangler", :password => "one two?", :controller => 'c', :action => 'a', :id => 'i')
)
end
+
+ def test_anchor
+ assert_equal(
+ 'http://test.host/c/a/i#anchor',
+ @rewriter.rewrite(:controller => 'c', :action => 'a', :id => 'i', :anchor => 'anchor')
+ )
+ end
def test_overwrite_params
@params[:controller] = 'hi'
@@ -77,6 +84,12 @@ def test_exception_is_thrown_without_host
W.new.url_for :controller => 'c', :action => 'a', :id => 'i'
end
end
+
+ def test_anchor
+ assert_equal('/c/a#anchor',
+ W.new.url_for(:only_path => true, :controller => 'c', :action => 'a', :anchor => 'anchor')
+ )
+ end
def test_default_host
add_host!

0 comments on commit 5a3bb88

Please sign in to comment.