Updating image_tag to support cid:content_id "URLs"

This commit is contained in:
Mikel Lindsaar
2010-06-07 21:53:31 -04:00
parent a16fd96131
commit 21cc1ed437
2 changed files with 14 additions and 2 deletions

View File

@@ -620,7 +620,10 @@ module ActionView
options.symbolize_keys!
src = options[:src] = path_to_image(source)
options[:alt] = options.fetch(:alt){ File.basename(src, '.*').capitalize }
unless src =~ /^cid:/
options[:alt] = options.fetch(:alt){ File.basename(src, '.*').capitalize }
end
if size = options.delete(:size)
options[:width], options[:height] = size.split("x") if size =~ %r{^\d+x\d+$}
@@ -754,7 +757,7 @@ module ActionView
end
def is_uri?(path)
path =~ %r{^[-a-z]+://}
path =~ %r{^[-a-z]+://|^cid:}
end
# Pick an asset host for this source. Returns +nil+ if no host is set,

View File

@@ -404,6 +404,15 @@ class AssetTagHelperTest < ActionView::TestCase
assert_equal %(<img alt="Rails" src="#{expected_path}" />), image_tag("rails.png")
end
def test_image_tag_interpreting_email_cid_correctly
# An inline image has no need for an alt tag to be automatically generated from the cid:
assert_equal '<img src="cid:thi%25%25sis@acontentid" />', image_tag("cid:thi%25%25sis@acontentid")
end
def test_image_tag_interpreting_email_adding_optional_alt_tag
assert_equal '<img alt="Image" src="cid:thi%25%25sis@acontentid" />', image_tag("cid:thi%25%25sis@acontentid", :alt => "Image")
end
def test_timebased_asset_id_with_relative_url_root
@controller.config.relative_url_root = "/collaboration/hieraki"
expected_time = File.stat(File.expand_path(File.dirname(__FILE__) + "/../fixtures/public/images/rails.png")).mtime.to_i.to_s