diff --git a/lib/jekyll/filters.rb b/lib/jekyll/filters.rb index 4128b305..d98d28a0 100644 --- a/lib/jekyll/filters.rb +++ b/lib/jekyll/filters.rb @@ -315,7 +315,7 @@ module Jekyll def time(input) case input when Time - input + input.clone when Date input.to_time when String diff --git a/test/test_filters.rb b/test/test_filters.rb index 10812f5e..d3c10f5a 100644 --- a/test/test_filters.rb +++ b/test/test_filters.rb @@ -103,6 +103,13 @@ class TestFilters < JekyllUnitTest should "format a time according to RFC-822" do assert_equal "Wed, 27 Mar 2013 11:22:33 +0000", @filter.date_to_rfc822(@sample_time) end + + should "not modify a time in-place when using filters" do + t = Time.new(2004, 9, 15, 0, 2, 37, "+01:00") + assert_equal 3600, t.utc_offset + @filter.date_to_string(t) + assert_equal 3600, t.utc_offset + end end context "with Date object" do