mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Moved image_tag to AssetTagHelper
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@899 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
parent
7edb10fe68
commit
9790233dfd
5 changed files with 31 additions and 30 deletions
|
@ -54,6 +54,31 @@ module ActionView
|
|||
tag("link", "rel" => "Stylesheet", "type" => "text/css", "media" => "screen", "href" => source)
|
||||
}.join("\n")
|
||||
end
|
||||
|
||||
# Returns an image tag converting the +options+ instead html options on the tag, but with these special cases:
|
||||
#
|
||||
# * <tt>:alt</tt> - If no alt text is given, the file name part of the +src+ is used (capitalized and without the extension)
|
||||
# * <tt>:size</tt> - Supplied as "XxY", so "30x45" becomes width="30" and height="45"
|
||||
#
|
||||
# The +src+ can be supplied as a...
|
||||
# * full path, like "/my_images/image.gif"
|
||||
# * file name, like "rss.gif", that gets expanded to "/images/rss.gif"
|
||||
# * file name without extension, like "logo", that gets expanded to "/images/logo.png"
|
||||
def image_tag(src, options = {})
|
||||
options.symbolize_keys
|
||||
|
||||
options.update({ :src => src.include?("/") ? src : "/images/#{src}" })
|
||||
options[:src] += ".png" unless options[:src].include?(".")
|
||||
|
||||
options[:alt] ||= src.split("/").last.split(".").first.capitalize
|
||||
|
||||
if options[:size]
|
||||
options[:width], options[:height] = options[:size].split("x")
|
||||
options.delete :size
|
||||
end
|
||||
|
||||
tag("img", options)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -22,32 +22,6 @@ module ActionView
|
|||
"<#{name}#{tag_options(options)}>#{content}</#{name}>"
|
||||
end
|
||||
|
||||
|
||||
# Returns an image tag converting the +options+ instead html options on the tag, but with these special cases:
|
||||
#
|
||||
# * <tt>:alt</tt> - If no alt text is given, the file name part of the +src+ is used (capitalized and without the extension)
|
||||
# * <tt>:size</tt> - Supplied as "XxY", so "30x45" becomes width="30" and height="45"
|
||||
#
|
||||
# The +src+ can be supplied as a...
|
||||
# * full path, like "/my_images/image.gif"
|
||||
# * file name, like "rss.gif", that gets expanded to "/images/rss.gif"
|
||||
# * file name without extension, like "logo", that gets expanded to "/images/logo.png"
|
||||
def image_tag(src, options = {})
|
||||
options.symbolize_keys
|
||||
|
||||
options.update({ :src => src.include?("/") ? src : "/images/#{src}" })
|
||||
options[:src] += ".png" unless options[:src].include?(".")
|
||||
|
||||
options[:alt] ||= src.split("/").last.split(".").first.capitalize
|
||||
|
||||
if options[:size]
|
||||
options[:width], options[:height] = options[:size].split("x")
|
||||
options.delete :size
|
||||
end
|
||||
|
||||
tag("img", options)
|
||||
end
|
||||
|
||||
private
|
||||
def tag_options(options)
|
||||
unless options.empty?
|
||||
|
|
|
@ -42,4 +42,8 @@ class AssetTagHelperTest < Test::Unit::TestCase
|
|||
def test_style_link
|
||||
StyleLinkToTag.each { |method, tag| assert_equal(tag, eval(method)) }
|
||||
end
|
||||
|
||||
def test_image_tag
|
||||
assert_equal %(<img alt="Gold" height="70" src="/images/gold.png" width="45" />), image_tag("gold", :size => "45x70")
|
||||
end
|
||||
end
|
|
@ -17,8 +17,4 @@ class TagHelperTest < Test::Unit::TestCase
|
|||
assert_equal content_tag("a", "Create", "href" => "create"),
|
||||
content_tag("a", "Create", :href => "create")
|
||||
end
|
||||
|
||||
def test_image_tag
|
||||
assert_equal %(<img alt="Gold" height="70" src="/images/gold.png" width="45" />), image_tag("gold", :size => "45x70")
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,11 +1,13 @@
|
|||
require File.dirname(__FILE__) + '/../abstract_unit'
|
||||
|
||||
require File.dirname(__FILE__) + '/../../lib/action_view/helpers/url_helper'
|
||||
require File.dirname(__FILE__) + '/../../lib/action_view/helpers/asset_tag_helper'
|
||||
require File.dirname(__FILE__) + '/../../lib/action_view/helpers/tag_helper'
|
||||
|
||||
RequestMock = Struct.new("Request", :request_uri)
|
||||
|
||||
class UrlHelperTest < Test::Unit::TestCase
|
||||
include ActionView::Helpers::AssetTagHelper
|
||||
include ActionView::Helpers::UrlHelper
|
||||
include ActionView::Helpers::TagHelper
|
||||
|
||||
|
|
Loading…
Reference in a new issue