diff --git a/lib/redmine/field_format.rb b/lib/redmine/field_format.rb index 8cb3bc4..05a329d 100644 --- a/lib/redmine/field_format.rb +++ b/lib/redmine/field_format.rb @@ -300,10 +300,14 @@ module Redmine def formatted_value(view, custom_field, value, customized=nil, html=false) if html - if custom_field.text_formatting == 'full' - view.textilizable(value, :object => customized) + if value.present? + if custom_field.text_formatting == 'full' + view.textilizable(value, :object => customized) + else + view.simple_format(html_escape(value)) + end else - view.simple_format(html_escape(value)) + '' end else value.to_s diff --git a/test/functional/projects_controller_test.rb b/test/functional/projects_controller_test.rb index fa86f1a..70c32c5 100644 --- a/test/functional/projects_controller_test.rb +++ b/test/functional/projects_controller_test.rb @@ -363,6 +363,15 @@ class ProjectsControllerTest < ActionController::TestCase assert_select 'li', :text => /#{f2.name}/ end + def test_show_should_not_display_blank_text_custom_fields + f1 = ProjectCustomField.generate! :field_format => 'text' + + get :show, :id => 1 + assert_response :success + + assert_select 'li', :text => /#{f1.name}/, :count => 0 + end + def test_show_should_not_fail_when_custom_values_are_nil project = Project.find_by_identifier('ecookbook') project.custom_values.first.update_attribute(:value, nil)