From 1e08d11579f0080f086a6bfea1693826a0c09c95 Mon Sep 17 00:00:00 2001 From: Jamis Buck Date: Fri, 30 Sep 2005 19:10:20 +0000 Subject: Don't prepend the asset host if the string is already a fully-qualified URL git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2430 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- actionpack/CHANGELOG | 2 ++ actionpack/lib/action_view/helpers/asset_tag_helper.rb | 3 ++- actionpack/test/template/asset_tag_helper_test.rb | 10 ++++++++++ 3 files changed, 14 insertions(+), 1 deletion(-) (limited to 'actionpack') diff --git a/actionpack/CHANGELOG b/actionpack/CHANGELOG index 5e50ce97d2..b252286202 100644 --- a/actionpack/CHANGELOG +++ b/actionpack/CHANGELOG @@ -1,5 +1,7 @@ *SVN* +* Don't prepend the asset host if the string is already a fully-qualified URL + * Updated to script.aculo.us V1.5.0_rc2 and Prototype to V1.4.0_pre7 [Thomas Fuchs] * Undo condition change made in [2345] to prevent normal parameters arriving as StringIO. diff --git a/actionpack/lib/action_view/helpers/asset_tag_helper.rb b/actionpack/lib/action_view/helpers/asset_tag_helper.rb index 23d691bb13..a79c01574b 100644 --- a/actionpack/lib/action_view/helpers/asset_tag_helper.rb +++ b/actionpack/lib/action_view/helpers/asset_tag_helper.rb @@ -131,7 +131,8 @@ module ActionView source = "/#{dir}/#{source}" unless source.first == "/" || source.include?(":") source = "#{source}.#{ext}" unless source.include?(".") source = "#{@controller.request.relative_url_root}#{source}" unless %r{^[-a-z]+://} =~ source - ActionController::Base.asset_host + source + source = ActionController::Base.asset_host + source unless source.include?(":") + source end end end diff --git a/actionpack/test/template/asset_tag_helper_test.rb b/actionpack/test/template/asset_tag_helper_test.rb index d5ea05bf37..9a242c6a5a 100644 --- a/actionpack/test/template/asset_tag_helper_test.rb +++ b/actionpack/test/template/asset_tag_helper_test.rb @@ -196,4 +196,14 @@ class AssetTagHelperNonVhostTest < Test::Unit::TestCase assert_nothing_raised { image_tag('') } end + def test_stylesheet_with_asset_host_already_encoded + ActionController::Base.asset_host = "http://foo.example.com" + result = stylesheet_link_tag("http://bar.example.com/stylesheets/style.css") + assert_dom_equal( + %(), + result) + ensure + ActionController::Base.asset_host = "" + end + end -- cgit v1.2.3