summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2014-01-12 09:58:07 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2014-01-12 09:58:07 +0000
commit1eda38be4ce08fd7d71b9cdc080b5dfa13c1411f (patch)
treeb345b03a07093dd32580ec5d0775cb508aec0422
parent5df064ed85711ceecdcfbdd66402672cca2b0d58 (diff)
downloadredmine-1eda38be4ce08fd7d71b9cdc080b5dfa13c1411f.tar.gz
redmine-1eda38be4ce08fd7d71b9cdc080b5dfa13c1411f.zip
Adds #favicon_path and #favicon_url helpers.
git-svn-id: http://svn.redmine.org/redmine/trunk@12661 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r--app/helpers/application_helper.rb17
-rw-r--r--test/unit/helpers/application_helper_test.rb22
2 files changed, 37 insertions, 2 deletions
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index 617a9029b..200bc1c2c 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -1270,8 +1270,21 @@ module ApplicationHelper
end
def favicon
- fav_path = (current_theme && current_theme.favicon?) ? current_theme.favicon_path : '/favicon.ico'
- "<link rel='shortcut icon' href='#{image_path(fav_path)}' />".html_safe
+ "<link rel='shortcut icon' href='#{favicon_path}' />".html_safe
+ end
+
+ # Returns the path to the favicon
+ def favicon_path
+ icon = (current_theme && current_theme.favicon?) ? current_theme.favicon_path : '/favicon.ico'
+ image_path(icon)
+ end
+
+ # Returns the full URL to the favicon
+ def favicon_url
+ # TODO: use #image_url introduced in Rails4
+ path = favicon_path
+ base = url_for(:controller => 'welcome', :action => 'index', :only_path => false)
+ base.sub(%r{/+$},'') + '/' + path.sub(%r{^/+},'')
end
def robot_exclusion_tag
diff --git a/test/unit/helpers/application_helper_test.rb b/test/unit/helpers/application_helper_test.rb
index 82d55702a..00a157757 100644
--- a/test/unit/helpers/application_helper_test.rb
+++ b/test/unit/helpers/application_helper_test.rb
@@ -1264,4 +1264,26 @@ RAW
assert_equal '<h2>Foo &#187; Bar</h2>', title('Foo', 'Bar')
assert_equal 'Bar - Foo - Redmine', html_title
end
+
+ def test_favicon_path
+ assert_match %r{^/favicon\.ico}, favicon_path
+ end
+
+ def test_favicon_path_with_suburi
+ Redmine::Utils.relative_url_root = '/foo'
+ assert_match %r{^/foo/favicon\.ico}, favicon_path
+ ensure
+ Redmine::Utils.relative_url_root = ''
+ end
+
+ def test_favicon_url
+ assert_match %r{^http://test\.host/favicon\.ico}, favicon_url
+ end
+
+ def test_favicon_url_with_suburi
+ Redmine::Utils.relative_url_root = '/foo'
+ assert_match %r{^http://test\.host/foo/favicon\.ico}, favicon_url
+ ensure
+ Redmine::Utils.relative_url_root = ''
+ end
end