From 1aa49fa734c38c42ec14a1847ab9319e8ede3adc Mon Sep 17 00:00:00 2001 From: Matt Rogers Date: Wed, 8 May 2013 21:57:10 -0500 Subject: [PATCH] Wrap tests around Jekyll::RelatedPosts This gives me more confidence that we're doing the right things when it comes to both the LSI and non-LSI cases and prevents regressions. --- test/test_related_posts.rb | 40 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 test/test_related_posts.rb diff --git a/test/test_related_posts.rb b/test/test_related_posts.rb new file mode 100644 index 00000000..cff43362 --- /dev/null +++ b/test/test_related_posts.rb @@ -0,0 +1,40 @@ +require 'helper' + +class TestRelatedPosts < Test::Unit::TestCase + context "building related posts without lsi" do + setup do + stub(Jekyll).configuration do + Jekyll::Configuration::DEFAULTS.merge({'source' => source_dir, + 'destination' => dest_dir}) + end + @site = Site.new(Jekyll.configuration) + end + + should "use the most recent posts for related posts" do + @site.reset + @site.read + assert_equal @site.posts[0..9], Jekyll::RelatedPosts.new(@site.posts.last).build + end + end + + context "building related posts with lsi" do + setup do + stub(Jekyll).configuration do + Jekyll::Configuration::DEFAULTS.merge({'source' => source_dir, + 'destination' => dest_dir, + 'lsi' => true}) + end + @site = Site.new(Jekyll.configuration) + end + + should "use lsi for the related posts" do + @site.reset + @site.read + require 'classifier' + any_instance_of(::Classifier::LSI) do |c| + stub(c).find_related { @site.posts[-1..-9] } + end + assert_equal @site.posts[-1..-9], Jekyll::RelatedPosts.new(@site.posts.last).build + end + end +end