mirror of https://github.com/rails/rails
provide better error message if path is uri [#5914 state:resolved]
Signed-off-by: José Valim <jose.valim@gmail.com>
This commit is contained in:
parent
154e5d735e
commit
793967cd40
|
@ -878,7 +878,7 @@ module ActionView
|
|||
end
|
||||
|
||||
def join_asset_file_contents(paths)
|
||||
paths.collect { |path| File.read(asset_file_path!(path)) }.join("\n\n")
|
||||
paths.collect { |path| File.read(asset_file_path!(path, true)) }.join("\n\n")
|
||||
end
|
||||
|
||||
def write_asset_file_contents(joined_asset_path, asset_paths)
|
||||
|
@ -896,8 +896,10 @@ module ActionView
|
|||
File.join(config.assets_dir, path.split('?').first)
|
||||
end
|
||||
|
||||
def asset_file_path!(path)
|
||||
unless is_uri?(path)
|
||||
def asset_file_path!(path, error_if_file_is_uri = false)
|
||||
if is_uri?(path)
|
||||
raise(Errno::ENOENT, "Asset file #{path} is uri and cannot be merged into single file") if error_if_file_is_uri
|
||||
else
|
||||
absolute_path = asset_file_path(path)
|
||||
raise(Errno::ENOENT, "Asset file not found at '#{absolute_path}'" ) unless File.exist?(absolute_path)
|
||||
return absolute_path
|
||||
|
|
|
@ -727,6 +727,17 @@ class AssetTagHelperTest < ActionView::TestCase
|
|||
assert !File.exist?(File.join(ActionView::Helpers::AssetTagHelper::JAVASCRIPTS_DIR, 'money.js'))
|
||||
end
|
||||
|
||||
def test_caching_javascript_include_tag_when_caching_on_and_javascript_file_is_uri
|
||||
ENV["RAILS_ASSET_ID"] = ""
|
||||
config.perform_caching = true
|
||||
|
||||
assert_raise(Errno::ENOENT) {
|
||||
javascript_include_tag('bank', 'robber', 'https://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.js', :cache => true)
|
||||
}
|
||||
|
||||
assert !File.exist?(File.join(ActionView::Helpers::AssetTagHelper::JAVASCRIPTS_DIR, 'all.js'))
|
||||
end
|
||||
|
||||
def test_caching_javascript_include_tag_when_caching_off_and_missing_javascript_file
|
||||
ENV["RAILS_ASSET_ID"] = ""
|
||||
config.perform_caching = false
|
||||
|
|
Loading…
Reference in New Issue