diff --git a/lib/liquid/standardfilters.rb b/lib/liquid/standardfilters.rb index b5332f0..658f9e3 100644 --- a/lib/liquid/standardfilters.rb +++ b/lib/liquid/standardfilters.rb @@ -310,7 +310,10 @@ module Liquid def to_date(obj) return obj if obj.respond_to?(:strftime) - obj = obj.downcase if obj.is_a?(String) + if obj.is_a?(String) + return nil if obj.empty? + obj = obj.downcase + end case obj when 'now'.freeze, 'today'.freeze diff --git a/test/integration/standard_filter_test.rb b/test/integration/standard_filter_test.rb index 4cfcae7..9eef70b 100644 --- a/test/integration/standard_filter_test.rb +++ b/test/integration/standard_filter_test.rb @@ -253,6 +253,8 @@ class StandardFiltersTest < Minitest::Test assert_equal nil, @filters.date(nil, "%B") + assert_equal '', @filters.date('', "%B") + assert_equal "07/05/2006", @filters.date(1152098955, "%m/%d/%Y") assert_equal "07/05/2006", @filters.date("1152098955", "%m/%d/%Y") end