From: Jean-Philippe Lang Date: Sun, 12 Jan 2014 09:58:07 +0000 (+0000) Subject: Adds #favicon_path and #favicon_url helpers. X-Git-Tag: 2.5.0~238 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=1eda38be4ce08fd7d71b9cdc080b5dfa13c1411f;p=redmine.git Adds #favicon_path and #favicon_url helpers. git-svn-id: http://svn.redmine.org/redmine/trunk@12661 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- 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' - "".html_safe + "".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 '

Foo » Bar

', 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