From 936c737a32769c45558da536e64d6aa9161535cd Mon Sep 17 00:00:00 2001 From: Ryan Burnette Date: Tue, 13 Jan 2015 02:21:28 -0500 Subject: [PATCH 1/3] Address #3298 --- lib/jekyll/filters.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/jekyll/filters.rb b/lib/jekyll/filters.rb index fca03437..5972aad6 100644 --- a/lib/jekyll/filters.rb +++ b/lib/jekyll/filters.rb @@ -302,6 +302,8 @@ module Jekyll case input when Time input + when Date + input.to_time when String Time.parse(input) rescue Time.at(input.to_i) when Numeric From 588bba39adaa2ed001c693d4c5c74b7aaa296af0 Mon Sep 17 00:00:00 2001 From: Ryan Burnette Date: Tue, 13 Jan 2015 13:51:36 -0500 Subject: [PATCH 2/3] Add test for Date object in filters.rb --- test/test_filters.rb | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/test/test_filters.rb b/test/test_filters.rb index 659b7a84..a8cd9737 100644 --- a/test/test_filters.rb +++ b/test/test_filters.rb @@ -17,6 +17,7 @@ class TestFilters < Test::Unit::TestCase setup do @filter = JekyllFilter.new({"source" => source_dir, "destination" => dest_dir, "timezone" => "UTC"}) @sample_time = Time.utc(2013, 03, 27, 11, 22, 33) + @sample_date = Date.parse("2013-03-27") @time_as_string = "September 11, 2001 12:46:30 -0000" @time_as_numeric = 1399680607 @array_of_objects = [ @@ -80,6 +81,24 @@ class TestFilters < Test::Unit::TestCase end end + context "with Date object" do + should "format a date with short format" do + assert_equal "27 Mar 2013", @filter.date_to_string(@sample_date) + end + + should "format a date with long format" do + assert_equal "27 March 2013", @filter.date_to_long_string(@sample_date) + end + + should "format a time with xmlschema" do + assert_equal "2013-03-27T00:00:00+00:00", @filter.date_to_xmlschema(@sample_date) + end + + should "format a time according to RFC-822" do + assert_equal "Wed, 27 Mar 2013 00:00:00 +0000", @filter.date_to_rfc822(@sample_date) + end + end + context "with String object" do should "format a date with short format" do assert_equal "11 Sep 2001", @filter.date_to_string(@time_as_string) From 80465efff7485bdf9522c3bda3069ee761e09367 Mon Sep 17 00:00:00 2001 From: Ryan Burnette Date: Tue, 13 Jan 2015 13:51:47 -0500 Subject: [PATCH 3/3] Require date in filters.rb --- lib/jekyll/filters.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/jekyll/filters.rb b/lib/jekyll/filters.rb index 5972aad6..e76fa755 100644 --- a/lib/jekyll/filters.rb +++ b/lib/jekyll/filters.rb @@ -1,5 +1,6 @@ require 'uri' require 'json' +require 'date' module Jekyll module Filters