diff options
author | Jonathan del Strother <jon.delStrother@audioboo.fm> | 2011-11-17 11:48:12 +0000 |
---|---|---|
committer | Jonathan del Strother <jon.delStrother@audioboo.fm> | 2011-12-01 11:57:33 +0000 |
commit | 88237daae48c9867fca3b0e14e779d4f4cdd88d0 (patch) | |
tree | 822b78cb2d4d925e534ca403cd6df508afbeef06 /railties/test/application | |
parent | cb7145700d6fd31ef316d97590815ce73bb08cbd (diff) | |
download | rails-88237daae48c9867fca3b0e14e779d4f4cdd88d0.tar.gz rails-88237daae48c9867fca3b0e14e779d4f4cdd88d0.tar.bz2 rails-88237daae48c9867fca3b0e14e779d4f4cdd88d0.zip |
Leave default_asset_host_protocol unset
When default_asset_host_protocol is left as nil, it will use absolute protocols when a request is present, and relative protocols otherwise (eg in asset generation)
Diffstat (limited to 'railties/test/application')
-rw-r--r-- | railties/test/application/assets_test.rb | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/railties/test/application/assets_test.rb b/railties/test/application/assets_test.rb index d4ffbe3d66..a22013f81c 100644 --- a/railties/test/application/assets_test.rb +++ b/railties/test/application/assets_test.rb @@ -451,6 +451,28 @@ module ApplicationTests assert_equal 0, files.length, "Expected application.js asset to be removed, but still exists" end + test "asset urls should use the request's protocol by default" do + app_with_assets_in_view + add_to_config "config.asset_host = 'example.com'" + require "#{app_path}/config/environment" + class ::PostsController < ActionController::Base; end + + get '/posts', {}, {'HTTPS'=>'off'} + assert_match('src="http://example.com/assets/application.js', last_response.body) + get '/posts', {}, {'HTTPS'=>'on'} + assert_match('src="https://example.com/assets/application.js', last_response.body) + end + + test "asset urls should be protocol-relative if no request is in scope" do + app_file "app/assets/javascripts/image_loader.js.erb", 'var src="<%= image_path("rails.png") %>";' + add_to_config "config.assets.precompile = %w{image_loader.js}" + add_to_config "config.asset_host = 'example.com'" + precompile! + + assert_match 'src="//example.com/assets/rails.png"', File.read("#{app_path}/public/assets/image_loader.js") + end + + private def app_with_assets_in_view |