]> source.dussan.org Git - redmine.git/commitdiff
Fixed: date part of the time default format doesn't respect the date format (#7639).
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Sun, 20 Feb 2011 14:56:37 +0000 (14:56 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Sun, 20 Feb 2011 14:56:37 +0000 (14:56 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4894 e93f8b46-1217-0410-a6f0-8f06a7374b81

lib/redmine/i18n.rb
test/unit/lib/redmine/i18n_test.rb

index 1bfca81e44162aafb371e3d144978b7480ee90cf..f0cc529b04c7e785bead0778a49a3603172be92b 100644 (file)
@@ -45,8 +45,8 @@ module Redmine
       time = time.to_time if time.is_a?(String)
       zone = User.current.time_zone
       local = zone ? time.in_time_zone(zone) : (time.utc? ? time.localtime : time)
-      Setting.time_format.blank? ? ::I18n.l(local, :format => (include_date ? :default : :time)) : 
-                                   ((include_date ? "#{format_date(time)} " : "") + "#{local.strftime(Setting.time_format)}")
+      (include_date ? "#{format_date(local)} " : "") +
+        (Setting.time_format.blank? ? ::I18n.l(local, :format => :time) : local.strftime(Setting.time_format))
     end
 
     def day_name(day)
index 5bb69c9a5ecf24c90c8d3d0d4c5957ae2c1a46d6..7ef5feb39165eadf19a3de20202f2ad517a4c193 100644 (file)
@@ -58,13 +58,36 @@ class Redmine::I18nTest < ActiveSupport::TestCase
     end
   end
   
+  def test_time_format
+    set_language_if_valid 'en'
+    now = Time.parse('2011-02-20 15:45:22')
+    with_settings :time_format => '%H:%M' do
+      with_settings :date_format => '' do
+        assert_equal '02/20/2011 15:45', format_time(now)
+        assert_equal '15:45', format_time(now, false)
+      end
+      
+      with_settings :date_format => '%Y-%m-%d' do
+        assert_equal '2011-02-20 15:45', format_time(now)
+        assert_equal '15:45', format_time(now, false)
+      end
+    end
+  end
+  
   def test_time_format_default
     set_language_if_valid 'en'
-    now = Time.now
-    Setting.date_format = ''
-    Setting.time_format = ''    
-    assert_equal I18n.l(now), format_time(now)
-    assert_equal I18n.l(now, :format => :time), format_time(now, false)
+    now = Time.parse('2011-02-20 15:45:22')
+    with_settings :time_format => '' do
+      with_settings :date_format => '' do
+        assert_equal '02/20/2011 03:45 pm', format_time(now)
+        assert_equal '03:45 pm', format_time(now, false)
+      end
+      
+      with_settings :date_format => '%Y-%m-%d' do
+        assert_equal '2011-02-20 03:45 pm', format_time(now)
+        assert_equal '03:45 pm', format_time(now, false)
+      end
+    end
   end
   
   def test_time_format