diff --git a/lib/jekyll/site.rb b/lib/jekyll/site.rb index 1354cb67..7a4e15f0 100644 --- a/lib/jekyll/site.rb +++ b/lib/jekyll/site.rb @@ -27,7 +27,8 @@ module Jekyll self.include = config['include'] self.future = config['future'] self.show_drafts = config['show_drafts'] - self.limit_posts = config['limit_posts'] + # given as String if it is came from CLI option + self.limit_posts = config['limit_posts'].nil? ? nil : config["limit_posts"].to_i self.keep_files = config['keep_files'] self.reset diff --git a/test/test_generated_site.rb b/test/test_generated_site.rb index ca676861..bb6a6eb0 100644 --- a/test/test_generated_site.rb +++ b/test/test_generated_site.rb @@ -68,5 +68,15 @@ class TestGeneratedSite < Test::Unit::TestCase @site = Site.new(Jekyll.configuration) end end + + should "ensure if limit_posts is a String (from CLI option)" do + clear_dest + stub(Jekyll).configuration do + Jekyll::Configuration::DEFAULTS.merge({'limit_posts' => "3"}) + end + @site = Site.new(Jekyll.configuration) + + assert_equal 3, @site.limit_posts + end end end