diff --git a/lib/jekyll/filters.rb b/lib/jekyll/filters.rb index 0ab50d49..79ceed3d 100644 --- a/lib/jekyll/filters.rb +++ b/lib/jekyll/filters.rb @@ -373,8 +373,8 @@ module Jekyll when Numeric Time.at(input) else - Jekyll.logger.error "Invalid Date:", "'#{input}' is not a valid datetime." - exit(1) + raise Errors::InvalidDateError, + "Invalid Date: '#{input.inspect}' is not a valid datetime." end.localtime end diff --git a/test/test_filters.rb b/test/test_filters.rb index 7e37f228..7c5ee0b1 100644 --- a/test/test_filters.rb +++ b/test/test_filters.rb @@ -268,6 +268,15 @@ class TestFilters < JekyllUnitTest ) end end + + context "without input" do + should "raise an error if input is nil" do + err = assert_raises Jekyll::Errors::InvalidDateError do + @filter.date_to_xmlschema(nil) + end + assert_equal "Invalid Date: 'nil' is not a valid datetime.", err.message + end + end end should "escape xml with ampersands" do