summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/redmine/i18n.rb2
-rw-r--r--test/unit/lib/redmine/i18n_test.rb9
2 files changed, 10 insertions, 1 deletions
diff --git a/lib/redmine/i18n.rb b/lib/redmine/i18n.rb
index b028e3e30..7fa88230f 100644
--- a/lib/redmine/i18n.rb
+++ b/lib/redmine/i18n.rb
@@ -60,7 +60,7 @@ module Redmine
# Localizes the given args with user's language
def lu(user, *args)
- lang = user.try(:language) || Setting.default_language
+ lang = user.try(:language).presence || Setting.default_language
ll(lang, *args)
end
diff --git a/test/unit/lib/redmine/i18n_test.rb b/test/unit/lib/redmine/i18n_test.rb
index 0c42ccc03..90e01bf89 100644
--- a/test/unit/lib/redmine/i18n_test.rb
+++ b/test/unit/lib/redmine/i18n_test.rb
@@ -162,6 +162,15 @@ class Redmine::I18nTest < ActiveSupport::TestCase
assert_equal "-1000,20 #{euro_sign}", number_to_currency(-1000.2)
end
+ def test_lu_should_not_error_when_user_language_is_an_empty_string
+ user = User.new
+ user.language = ''
+
+ assert_nothing_raised do
+ lu(user, :label_issue)
+ end
+ end
+
def test_valid_languages
assert valid_languages.is_a?(Array)
assert valid_languages.first.is_a?(Symbol)