jekyll/test/test_site.rb

49 lines
1.3 KiB
Ruby

require File.dirname(__FILE__) + '/helper'
class TestSite < Test::Unit::TestCase
def setup
@config = Jekyll::DEFAULTS.clone
@config['source'] = File.join(File.dirname(__FILE__), *%w[source])
@config['destination'] = dest_dir
Jekyll.configure(@config)
@s = Site.new(@config)
end
def test_site_init
end
def test_read_layouts
@s.read_layouts
assert_equal ["default", "simple"].sort, @s.layouts.keys.sort
end
def test_read_posts
@s.read_posts('')
posts = Dir[File.join(@config['source'], '_posts/*')]
assert_equal posts.size - 1, @s.posts.size
end
def test_site_payload
clear_dest
@s.process
posts = Dir[File.join(@config['source'], "**", "_posts/*")]
categories = %w(bar baz category foo z_category publish_test).sort
assert_equal posts.size - 1, @s.posts.size
assert_equal categories, @s.categories.keys.sort
assert_equal 4, @s.categories['foo'].size
end
def test_filter_entries
ent1 = %w[foo.markdown bar.markdown baz.markdown #baz.markdown#
.baz.markdow foo.markdown~]
ent2 = %w[.htaccess _posts bla.bla]
assert_equal %w[foo.markdown bar.markdown baz.markdown], @s.filter_entries(ent1)
assert_equal ent2, @s.filter_entries(ent2)
end
end