diff --git a/.gitignore b/.gitignore index 66de090b..68bbac59 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ -test/dest/ +test/dest *.gem pkg/ *.swp diff --git a/lib/jekyll/site.rb b/lib/jekyll/site.rb index a578dd1f..e74fd333 100644 --- a/lib/jekyll/site.rb +++ b/lib/jekyll/site.rb @@ -77,6 +77,8 @@ module Jekyll rescue LoadError puts "The maruku gem is required for markdown support!" end + else + raise "Invalid Markdown processor: '#{self.config['markdown']}' -- did you mean 'maruku' or 'rdiscount'?" end end diff --git a/test/test_site.rb b/test/test_site.rb index 80bf0468..469c2a8b 100644 --- a/test/test_site.rb +++ b/test/test_site.rb @@ -65,5 +65,21 @@ class TestSite < Test::Unit::TestCase @site.exclude = excludes assert_equal includes, @site.filter_entries(excludes + includes) end + + context 'with an invalid markdown processor in the configuration' do + + should 'give a meaningful error message' do + bad_processor = 'not a processor name' + begin + Site.new(Jekyll.configuration.merge({ 'markdown' => bad_processor })) + flunk 'Invalid markdown processors should cause a failure on site creation' + rescue RuntimeError => e + assert e.to_s =~ /invalid|bad/i + assert e.to_s =~ %r{#{bad_processor}} + end + end + + end + end end