Permalink
Browse files

Moved image_tag to AssetTagHelper

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@899 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
  • Loading branch information...
1 parent 7edb10f commit 9790233dfda048f80bf5bb4ffe8b89c04723c9aa @dhh dhh committed Mar 14, 2005
@@ -54,6 +54,31 @@ def stylesheet_link_tag(*sources)
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 @@ def content_tag(name, content, options = {})
"<#{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 @@ def test_javascript_include
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 @@ def test_content_tag
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

0 comments on commit 9790233

Please sign in to comment.