mirror of
https://github.com/github/rails.git
synced 2026-04-26 03:00:59 -04:00
Updating image_tag to support cid:content_id "URLs"
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user