From 9d547f74cc16f498779c602a9bb749dd5a5b082b Mon Sep 17 00:00:00 2001 From: Parker Moore Date: Sat, 17 Jan 2015 13:59:52 -0800 Subject: [PATCH] Make all the tests happy. --- test/helper.rb | 4 + ...ar.textile => 2008-10-18-foo-bar.markdown} | 4 +- ...ex.textile => 2008-11-21-complex.markdown} | 0 .../source/_posts/2008-12-13-include.markdown | 2 +- ...tile => 2010-01-09-date-override.markdown} | 0 ...tile => 2010-01-09-time-override.markdown} | 0 ... => 2010-01-09-timezone-override.markdown} | 0 test/test_cleaner.rb | 12 +-- test/test_coffeescript.rb | 5 +- test/test_collections.rb | 10 -- test/test_post.rb | 94 ++++++++----------- 11 files changed, 51 insertions(+), 80 deletions(-) rename test/source/_posts/{2008-10-18-foo-bar.textile => 2008-10-18-foo-bar.markdown} (52%) rename test/source/_posts/{2008-11-21-complex.textile => 2008-11-21-complex.markdown} (100%) rename test/source/_posts/{2010-01-09-date-override.textile => 2010-01-09-date-override.markdown} (100%) rename test/source/_posts/{2010-01-09-time-override.textile => 2010-01-09-time-override.markdown} (100%) rename test/source/_posts/{2010-01-09-timezone-override.textile => 2010-01-09-timezone-override.markdown} (100%) diff --git a/test/helper.rb b/test/helper.rb index fa546b97..13240e25 100644 --- a/test/helper.rb +++ b/test/helper.rb @@ -26,6 +26,10 @@ STDERR.reopen(test(?e, '/dev/null') ? '/dev/null' : 'NUL:') class Test::Unit::TestCase include RR::Adapters::TestUnit + def fixture_site(overrides = {}) + Jekyll::Site.new(site_configuration(overrides)) + end + def build_configs(overrides, base_hash = Jekyll::Configuration::DEFAULTS) Utils.deep_merge_hashes(base_hash, overrides) end diff --git a/test/source/_posts/2008-10-18-foo-bar.textile b/test/source/_posts/2008-10-18-foo-bar.markdown similarity index 52% rename from test/source/_posts/2008-10-18-foo-bar.textile rename to test/source/_posts/2008-10-18-foo-bar.markdown index 0ed8573e..3bc219aa 100644 --- a/test/source/_posts/2008-10-18-foo-bar.textile +++ b/test/source/_posts/2008-10-18-foo-bar.markdown @@ -3,6 +3,6 @@ layout: default title: Foo Bar --- -h1. {{ page.title }} +# {{ page.title }} -Best *post* ever \ No newline at end of file +Best **post** ever \ No newline at end of file diff --git a/test/source/_posts/2008-11-21-complex.textile b/test/source/_posts/2008-11-21-complex.markdown similarity index 100% rename from test/source/_posts/2008-11-21-complex.textile rename to test/source/_posts/2008-11-21-complex.markdown diff --git a/test/source/_posts/2008-12-13-include.markdown b/test/source/_posts/2008-12-13-include.markdown index 1b02ba2a..28a93539 100644 --- a/test/source/_posts/2008-12-13-include.markdown +++ b/test/source/_posts/2008-12-13-include.markdown @@ -5,4 +5,4 @@ title: Include {% include sig.markdown %} -This _is_ cool \ No newline at end of file +This _is_ cool diff --git a/test/source/_posts/2010-01-09-date-override.textile b/test/source/_posts/2010-01-09-date-override.markdown similarity index 100% rename from test/source/_posts/2010-01-09-date-override.textile rename to test/source/_posts/2010-01-09-date-override.markdown diff --git a/test/source/_posts/2010-01-09-time-override.textile b/test/source/_posts/2010-01-09-time-override.markdown similarity index 100% rename from test/source/_posts/2010-01-09-time-override.textile rename to test/source/_posts/2010-01-09-time-override.markdown diff --git a/test/source/_posts/2010-01-09-timezone-override.textile b/test/source/_posts/2010-01-09-timezone-override.markdown similarity index 100% rename from test/source/_posts/2010-01-09-timezone-override.textile rename to test/source/_posts/2010-01-09-timezone-override.markdown diff --git a/test/test_cleaner.rb b/test/test_cleaner.rb index 304ce623..74e59507 100644 --- a/test/test_cleaner.rb +++ b/test/test_cleaner.rb @@ -9,11 +9,7 @@ class TestCleaner < Test::Unit::TestCase FileUtils.touch(File.join(dest_dir('to_keep'), 'index.html')) FileUtils.touch(File.join(dest_dir('to_keep/child_dir'), 'index.html')) - @site = Site.new(Jekyll.configuration({ - "skip_config_files" => true, - "source" => source_dir, - "destination" => dest_dir - })) + @site = fixture_site @site.keep_files = ['to_keep/child_dir'] @cleaner = Site::Cleaner.new(@site) @@ -48,11 +44,7 @@ class TestCleaner < Test::Unit::TestCase FileUtils.mkdir_p(source_dir('no_files_inside/child_dir')) FileUtils.touch(File.join(source_dir('no_files_inside/child_dir'), 'index.html')) - @site = Site.new(Jekyll.configuration({ - "skip_config_files" => true, - "source" => source_dir, - "destination" => dest_dir - })) + @site = fixture_site @site.process @cleaner = Site::Cleaner.new(@site) diff --git a/test/test_coffeescript.rb b/test/test_coffeescript.rb index 91fd6237..2c589f81 100644 --- a/test/test_coffeescript.rb +++ b/test/test_coffeescript.rb @@ -3,10 +3,7 @@ require 'helper' class TestCoffeeScript < Test::Unit::TestCase context "converting CoffeeScript" do setup do - @site = Jekyll::Site.new(Jekyll.configuration({ - "source" => source_dir, - "destination" => dest_dir - })) + @site = fixture_site @site.process @test_coffeescript_file = dest_dir("js/coffeescript.js") @js_output = <<-JS diff --git a/test/test_collections.rb b/test/test_collections.rb index 118f8ddb..a119de5f 100644 --- a/test/test_collections.rb +++ b/test/test_collections.rb @@ -1,16 +1,6 @@ require 'helper' class TestCollections < Test::Unit::TestCase - - def fixture_site(overrides = {}) - Jekyll::Site.new(Jekyll.configuration( - overrides.merge({ - "source" => source_dir, - "destination" => dest_dir - }) - )) - end - context "an evil collection" do setup do @collection = Jekyll::Collection.new(fixture_site, "../../etc/password") diff --git a/test/test_post.rb b/test/test_post.rb index 4a33bbc9..63684241 100644 --- a/test/test_post.rb +++ b/test/test_post.rb @@ -15,18 +15,17 @@ class TestPost < Test::Unit::TestCase context "A Post" do setup do clear_dest - @site = Site.new(Jekyll.configuration({ - "skip_config_files" => true, - "source" => source_dir, - "destination" => dest_dir - })) + @site = fixture_site end should "ensure valid posts are valid" do assert Post.valid?("2008-09-09-foo-bar.textile") assert Post.valid?("foo/bar/2008-09-09-foo-bar.textile") + assert Post.valid?("2008-09-09-foo-bar.markdown") + assert Post.valid?("foo/bar/2008-09-09-foo-bar.markdown") assert !Post.valid?("lol2008-09-09-foo-bar.textile") + assert !Post.valid?("lol2008-09-09-foo-bar.markdown") assert !Post.valid?("blah") end @@ -63,8 +62,8 @@ class TestPost < Test::Unit::TestCase @post = Post.allocate @post.site = @site - @real_file = "2008-10-18-foo-bar.textile" - @fake_file = "2008-09-09-foo-bar.textile" + @real_file = "2008-10-18-foo-bar.markdown" + @fake_file = "2008-09-09-foo-bar.markdown" @source = source_dir('_posts') end @@ -74,7 +73,7 @@ class TestPost < Test::Unit::TestCase assert_equal Time.parse("2008-09-09"), @post.date assert_equal "foo-bar", @post.slug - assert_equal ".textile", @post.ext + assert_equal ".markdown", @post.ext assert_equal "/2008/09/09", @post.dir assert_equal "/2008/09/09/foo-bar", @post.id end @@ -367,13 +366,13 @@ class TestPost < Test::Unit::TestCase @post.read_yaml(@source, @real_file) assert_equal({"title" => "Foo Bar", "layout" => "default"}, @post.data) - assert_equal "h1. {{ page.title }}\n\nBest *post* ever", @post.content + assert_equal "# {{ page.title }}\n\nBest **post** ever", @post.content end should "transform textile" do @post.process(@real_file) @post.read_yaml(@source, @real_file) - assert_equal "

{{ page.title }}

\n

Best post ever

", @post.transform + assert_equal "

{{ page.title }}

\n\n

Best post ever

", @post.transform.strip end context "#excerpt" do @@ -461,8 +460,7 @@ class TestPost < Test::Unit::TestCase context "when in a site" do setup do clear_dest - stub(Jekyll).configuration { Jekyll::Configuration::DEFAULTS } - @site = Site.new(Jekyll.configuration) + @site = fixture_site @site.posts = [setup_post('2008-02-02-published.textile'), setup_post('2009-01-27-categories.textile')] end @@ -486,30 +484,30 @@ class TestPost < Test::Unit::TestCase context "initializing posts" do should "recognize date in yaml" do - post = setup_post("2010-01-09-date-override.textile") + post = setup_post("2010-01-09-date-override.markdown") do_render(post) assert_equal Time, post.date.class assert_equal Time, post.to_liquid["date"].class assert_equal "/2010/01/10/date-override.html", post.url - assert_equal "

Post with a front matter date

\n

10 Jan 2010

", post.output + assert_equal "

Post with a front matter date

\n\n

10 Jan 2010

", post.output.strip end should "recognize time in yaml" do - post = setup_post("2010-01-09-time-override.textile") + post = setup_post("2010-01-09-time-override.markdown") do_render(post) assert_equal Time, post.date.class assert_equal Time, post.to_liquid["date"].class assert_equal "/2010/01/10/time-override.html", post.url - assert_equal "

Post with a front matter time

\n

10 Jan 2010

", post.output + assert_equal "

Post with a front matter time

\n\n

10 Jan 2010

", post.output.strip end should "recognize time with timezone in yaml" do - post = setup_post("2010-01-09-timezone-override.textile") + post = setup_post("2010-01-09-timezone-override.markdown") do_render(post) assert_equal Time, post.date.class assert_equal Time, post.to_liquid["date"].class assert_equal "/2010/01/10/timezone-override.html", post.url - assert_equal "

Post with a front matter time with timezone

\n

10 Jan 2010

", post.output + assert_equal "

Post with a front matter time with timezone

\n\n

10 Jan 2010

", post.output.strip end should "to_liquid prioritizes post attributes over data" do @@ -603,13 +601,13 @@ class TestPost < Test::Unit::TestCase end should "render properly" do - post = setup_post("2008-10-18-foo-bar.textile") + post = setup_post("2008-10-18-foo-bar.markdown") do_render(post) - assert_equal "<<<

Foo Bar

\n

Best post ever

>>>", post.output + assert_equal "<<<

Foo Bar

\n\n

Best post ever

\n >>>", post.output end should "write properly" do - post = setup_post("2008-10-18-foo-bar.textile") + post = setup_post("2008-10-18-foo-bar.markdown") do_render(post) post.write(dest_dir) @@ -652,7 +650,7 @@ class TestPost < Test::Unit::TestCase end should "write properly without html extension" do - post = setup_post("2008-10-18-foo-bar.textile") + post = setup_post("2008-10-18-foo-bar.markdown") post.site.permalink_style = ":title/" do_render(post) post.write(dest_dir) @@ -662,32 +660,31 @@ class TestPost < Test::Unit::TestCase end should "insert data" do - post = setup_post("2008-11-21-complex.textile") + post = setup_post("2008-11-21-complex.markdown") do_render(post) - assert_equal "<<<

url: /2008/11/21/complex.html
\ndate: #{Time.parse("2008-11-21")}
\nid: /2008/11/21/complex

>>>", post.output + assert_equal "<<<

url: /2008/11/21/complex.html\ndate: #{Time.parse("2008-11-21")}\nid: /2008/11/21/complex

\n >>>", post.output end should "include templates" do post = setup_post("2008-12-13-include.markdown") - post.site.instance_variable_set(:@source, File.join(File.dirname(__FILE__), 'source')) do_render(post) assert_equal "<<<
\n

Tom Preston-Werner\ngithub.com/mojombo

\n\n

This is cool

\n >>>", post.output end should "render date specified in front matter properly" do - post = setup_post("2010-01-09-date-override.textile") + post = setup_post("2010-01-09-date-override.markdown") do_render(post) - assert_equal "

Post with a front matter date

\n

10 Jan 2010

", post.output + assert_equal "

Post with a front matter date

\n\n

10 Jan 2010

", post.output.strip end should "render time specified in front matter properly" do - post = setup_post("2010-01-09-time-override.textile") + post = setup_post("2010-01-09-time-override.markdown") do_render(post) - assert_equal "

Post with a front matter time

\n

10 Jan 2010

", post.output + assert_equal "

Post with a front matter time

\n\n

10 Jan 2010

", post.output.strip end end @@ -701,8 +698,7 @@ class TestPost < Test::Unit::TestCase context "converter file extension settings" do setup do - stub(Jekyll).configuration { Jekyll::Configuration::DEFAULTS } - @site = Site.new(Jekyll.configuration) + @site = fixture_site end should "process .md as markdown under default configuration" do @@ -750,17 +746,13 @@ class TestPost < Test::Unit::TestCase context "site config with category" do setup do - config = site_configuration({ - 'defaults' => [ - 'scope' => { - 'path' => '' - }, - 'values' => { - 'category' => 'article' - } - ] - }) - @site = Site.new(config) + front_matter_defaults = { + 'defaults' => [{ + 'scope' => { 'path' => '' }, + 'values' => { 'category' => 'article' } + }] + } + @site = fixture_site(front_matter_defaults) end should "return category if post does not specify category" do @@ -777,17 +769,13 @@ class TestPost < Test::Unit::TestCase context "site config with categories" do setup do - config = site_configuration({ - 'defaults' => [ - 'scope' => { - 'path' => '' - }, - 'values' => { - 'categories' => ['article'] - } - ] - }) - @site = Site.new(config) + front_matter_defaults = { + 'defaults' => [{ + 'scope' => { 'path' => '' }, + 'values' => { 'categories' => ['article'] } + }] + } + @site = fixture_site(front_matter_defaults) end should "return categories if post does not specify categories" do