diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | lib/date/format.rb | 2 | ||||
-rw-r--r-- | test/date/test_date_strftime.rb | 18 |
3 files changed, 24 insertions, 0 deletions
@@ -1,3 +1,7 @@ +Tue Nov 25 01:23:25 2008 Tadayoshi Funaba <tadf@dotrb.org> + + * lib/date/format.rb (strftime): ignores '_' flag for %[LN]. + Tue Nov 25 00:08:22 2008 Nobuyoshi Nakada <nobu@ruby-lang.org> * process.c (rb_fork): stops the timer thread during fork. diff --git a/lib/date/format.rb b/lib/date/format.rb index c8bc10fbac..161cf85891 100644 --- a/lib/date/format.rb +++ b/lib/date/format.rb @@ -255,6 +255,7 @@ class Date when 'j'; emit_n(yday, 3, f) when 'k'; emit_a(hour, 2, f) when 'L' + f[:p] = nil w = f[:w] || 3 u = 10**w emit_n((sec_fraction * u).floor, w, f) @@ -262,6 +263,7 @@ class Date when 'M', 'OM'; emit_n(min, 2, f) when 'm', 'Om'; emit_n(mon, 2, f) when 'N' + f[:p] = nil w = f[:w] || 9 u = 10**w emit_n((sec_fraction * u).floor, w, f) diff --git a/test/date/test_date_strftime.rb b/test/date/test_date_strftime.rb index 1a190f21cc..4131af3aab 100644 --- a/test/date/test_date_strftime.rb +++ b/test/date/test_date_strftime.rb @@ -299,6 +299,24 @@ class TestDateStrftime < Test::Unit::TestCase assert_equal('-2000', d.strftime('%05Y')) end + def test_strftime__gnuext_LN # coreutils + d = DateTime.parse('2008-11-25T00:11:22.0123456789') + assert_equal('012', d.strftime('%L')) + assert_equal('012', d.strftime('%0L')) + assert_equal('0', d.strftime('%1L')) + assert_equal('01', d.strftime('%2L')) + assert_equal('01234567890', d.strftime('%11L')) + assert_equal('01234567890', d.strftime('%011L')) + assert_equal('01234567890', d.strftime('%_11L')) + assert_equal('012345678', d.strftime('%N')) + assert_equal('012345678', d.strftime('%0N')) + assert_equal('0', d.strftime('%1N')) + assert_equal('01', d.strftime('%2N')) + assert_equal('01234567890', d.strftime('%11N')) + assert_equal('01234567890', d.strftime('%011N')) + assert_equal('01234567890', d.strftime('%_11N')) + end + def test_strftime__gnuext_z # coreutils d = DateTime.parse('2006-08-08T23:15:33+09:08:07') assert_equal('+0908', d.strftime('%z')) |