aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--actionpack/lib/action_view/helpers/asset_tag_helper.rb25
-rw-r--r--actionpack/lib/action_view/helpers/tag_helper.rb26
-rw-r--r--actionpack/test/template/asset_tag_helper_test.rb4
-rw-r--r--actionpack/test/template/tag_helper_test.rb4
-rw-r--r--actionpack/test/template/url_helper_test.rb2
5 files changed, 31 insertions, 30 deletions
diff --git a/actionpack/lib/action_view/helpers/asset_tag_helper.rb b/actionpack/lib/action_view/helpers/asset_tag_helper.rb
index 2f3bd71d5a..6328ff6f71 100644
--- a/actionpack/lib/action_view/helpers/asset_tag_helper.rb
+++ b/actionpack/lib/action_view/helpers/asset_tag_helper.rb
@@ -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
diff --git a/actionpack/lib/action_view/helpers/tag_helper.rb b/actionpack/lib/action_view/helpers/tag_helper.rb
index eb8af0c098..895a44eab5 100644
--- a/actionpack/lib/action_view/helpers/tag_helper.rb
+++ b/actionpack/lib/action_view/helpers/tag_helper.rb
@@ -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?
diff --git a/actionpack/test/template/asset_tag_helper_test.rb b/actionpack/test/template/asset_tag_helper_test.rb
index d93d0967e0..896d843165 100644
--- a/actionpack/test/template/asset_tag_helper_test.rb
+++ b/actionpack/test/template/asset_tag_helper_test.rb
@@ -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 \ No newline at end of file
diff --git a/actionpack/test/template/tag_helper_test.rb b/actionpack/test/template/tag_helper_test.rb
index cf3dabd522..f5394bd483 100644
--- a/actionpack/test/template/tag_helper_test.rb
+++ b/actionpack/test/template/tag_helper_test.rb
@@ -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
diff --git a/actionpack/test/template/url_helper_test.rb b/actionpack/test/template/url_helper_test.rb
index 828af7bb14..8e0016f0fd 100644
--- a/actionpack/test/template/url_helper_test.rb
+++ b/actionpack/test/template/url_helper_test.rb
@@ -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