From 81a2d03e58f1a5b5404177c4cd848d808f9696b5 Mon Sep 17 00:00:00 2001 From: Parker Moore Date: Sun, 9 Jun 2013 18:06:28 +0200 Subject: [PATCH] =?UTF-8?q?WIP=20=E2=80=93=20fixing=20tests.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/jekyll/generators/pagination.rb | 6 +++++- test/test_pager.rb | 19 +++++++++++++++---- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/lib/jekyll/generators/pagination.rb b/lib/jekyll/generators/pagination.rb index cd90a2c1..6599aa4c 100644 --- a/lib/jekyll/generators/pagination.rb +++ b/lib/jekyll/generators/pagination.rb @@ -50,7 +50,11 @@ module Jekyll # # Returns the url of the template page def self.first_page_url(site) - Pagination.new.template_page(site).url + if page = Pagination.new.template_page(site) + page.url + else + nil + end end # Public: Find the Jekyll::Page which will act as the pager template diff --git a/test/test_pager.rb b/test/test_pager.rb index 990d28eb..b4a22c9b 100644 --- a/test/test_pager.rb +++ b/test/test_pager.rb @@ -2,6 +2,15 @@ require 'helper' class TestPager < Test::Unit::TestCase + def jekyll_site(config = {}) + base = Jekyll::Configuration::DEFAULTS.merge({ + 'source' => source_dir, + 'destination' => dest_dir, + 'paginate' => 1 + }) + Jekyll::Site.new(base.merge(config)) + end + should "calculate number of pages" do assert_equal(0, Pager.calculate_pages([], '2')) assert_equal(1, Pager.calculate_pages([1], '2')) @@ -12,10 +21,12 @@ class TestPager < Test::Unit::TestCase end should "determine the pagination path" do - assert_nil(Pager.paginate_path(Jekyll::Configuration::DEFAULTS, 1)) - assert_equal("page2", Pager.paginate_path(Jekyll::Configuration::DEFAULTS, 2)) - assert_nil(Pager.paginate_path(Jekyll::Configuration::DEFAULTS.merge('paginate_path' => '/blog/page-:num'), 1)) - assert_equal("page-2", Pager.paginate_path(Jekyll::Configuration::DEFAULTS.merge('paginate_path' => '/blog/page-:num'), 2)) + assert_equal("/index.html", Pager.paginate_path(jekyll_site, 1)) + assert_equal("/page2", Pager.paginate_path(jekyll_site, 2)) + assert_equal("/index.html", Pager.paginate_path(jekyll_site('paginate_path' => '/blog/page-:num'), 1)) + assert_equal("/blog/page-2", Pager.paginate_path(jekyll_site('paginate_path' => '/blog/page-:num'), 2)) + assert_equal("/index.html", Pager.paginate_path(jekyll_site('paginate_path' => '/blog/page/:num'), 1)) + assert_equal("/blog/page/2", Pager.paginate_path(jekyll_site('paginate_path' => '/blog/page/:num'), 2)) end context "pagination disabled" do