From 41aa926a283008a50fb45a136092b453c7eeee4f Mon Sep 17 00:00:00 2001 From: Joenio Costa Date: Tue, 3 May 2011 00:19:02 -0300 Subject: [PATCH] Allowing themes to define addthis icon image --- app/helpers/content_viewer_helper.rb | 8 ++++++++ app/views/content_viewer/view_page.rhtml | 3 ++- test/unit/content_viewer_helper_test.rb | 17 +++++++++++++++++ 3 files changed, 27 insertions(+), 1 deletion(-) diff --git a/app/helpers/content_viewer_helper.rb b/app/helpers/content_viewer_helper.rb index f7945d1..1cc3afa 100644 --- a/app/helpers/content_viewer_helper.rb +++ b/app/helpers/content_viewer_helper.rb @@ -60,4 +60,12 @@ module ContentViewerHelper } end + def addthis_image_tag + if File.exists?(File.join(Rails.root, 'public', theme_path, 'images', 'addthis.gif')) + image_tag(File.join(theme_path, 'images', 'addthis.gif'), :border => 0, :alt => '') + else + image_tag("/images/bt-bookmark.gif", :width => 53, :height => 16, :border => 0, :alt => '') + end + end + end diff --git a/app/views/content_viewer/view_page.rhtml b/app/views/content_viewer/view_page.rhtml index 7fb307b..2539796 100644 --- a/app/views/content_viewer/view_page.rhtml +++ b/app/views/content_viewer/view_page.rhtml @@ -47,7 +47,8 @@ }; addthis_options = '<%= escape_javascript( NOOSFERO_CONF['addthis_options'] ) %>'; - +<%= addthis_image_tag %> + <% end %> diff --git a/test/unit/content_viewer_helper_test.rb b/test/unit/content_viewer_helper_test.rb index 84b1eb6..aeff4cc 100644 --- a/test/unit/content_viewer_helper_test.rb +++ b/test/unit/content_viewer_helper_test.rb @@ -115,6 +115,20 @@ class ContentViewerHelperTest < Test::Unit::TestCase assert_equal "http://www.facebook.com/sharer.php?s=100&p[title]=Some+title&p[summary]=This+is+a+test&p[url]=http%3A%2F%2Fnoosfero.org%2Fblog_helper_test%2Fsome-title&p[images][0]=http%3A%2F%2Fnoosfero.org%2Fimages%2Fx.png", addthis_facebook_url(a) end + should 'theme provides addthis custom icon' do + stubs(:session).returns({:theme => 'base'}) + File.expects(:exists?).with(anything).returns(true) + Environment.any_instance.stubs(:default_hostname).returns('noosfero.org') + assert_match 'addthis.gif', addthis_image_tag + end + + should 'use default addthis icon if theme has no addthis.gif image' do + stubs(:session).returns({:theme => 'base'}) + File.expects(:exists?).with(anything).returns(false) + Environment.any_instance.stubs(:default_hostname).returns('noosfero.org') + assert_match 'bt-bookmark.gif', addthis_image_tag + end + protected include ActionView::Helpers::TextHelper @@ -138,3 +152,6 @@ end def url_for(args = {}) ['http:/', args[:host], args[:profile], args[:page]].join('/') end +def image_tag(file, args = {}) + file +end -- libgit2 0.21.2