Files
gollum/test/test_page.rb
T
2010-07-07 00:29:51 -07:00

55 lines
1.7 KiB
Ruby

require File.join(File.dirname(__FILE__), *%w[helper])
context "Page" do
setup do
@wiki = Gollum::Wiki.new(testpath("examples/lotr.git"))
end
test "new page" do
page = Gollum::Page.new(@wiki)
assert_nil page.raw_data
assert_nil page.formatted_data
end
test "get existing page" do
page = @wiki.page('Bilbo Baggins')
assert_equal Gollum::Page, page.class
assert page.raw_data =~ /^# Bilbo Baggins\n\nBilbo Baggins/
assert page.formatted_data =~ /<h1>Bilbo Baggins<\/h1>\n\n<p>Bilbo Baggins/
assert_equal 'Bilbo-Baggins.md', page.path
assert_equal :markdown, page.format
assert_equal @wiki.repo.commits.first.id, page.version.id
end
test "get nested page" do
page = @wiki.page('Eye Of Sauron')
assert_equal 'Mordor/Eye-Of-Sauron.md', page.path
end
test "page versions" do
page = @wiki.page('Bilbo Baggins')
assert_equal ["f25eccd98e9b667f9e22946f3e2f945378b8a72d", "5bc1aaec6149e854078f1d0f8b71933bbc6c2e43"],
page.versions.map { |v| v.id }
end
test "specific page version" do
page = @wiki.page('Bilbo Baggins', 'fbabba862dfa7ac35b39042dd4ad780c9f67b8cb')
assert_equal 'fbabba862dfa7ac35b39042dd4ad780c9f67b8cb', page.version.id
end
test "no page match" do
assert_nil @wiki.page('I do not exist')
end
test "no ext match" do
assert_nil @wiki.page('Data')
end
test "cname" do
assert_equal "Foo", Gollum::Page.cname("Foo")
assert_equal "Foo-Bar", Gollum::Page.cname("Foo Bar")
assert_equal "Foo---Bar", Gollum::Page.cname("Foo / Bar")
assert_equal "José", Gollum::Page.cname("José")
assert_equal "モルドール", Gollum::Page.cname("モルドール")
end
end