diff --git a/lib/gollum/views/pages.rb b/lib/gollum/views/pages.rb
index d2a85f5e..0a8d77d4 100644
--- a/lib/gollum/views/pages.rb
+++ b/lib/gollum/views/pages.rb
@@ -47,7 +47,11 @@ module Precious
folder_link
end
elsif page_path != ".gitkeep"
- %{
#{page.name}}
+ if defined? page.format
+ %{#{page.name}}
+ else
+ %{#{page.name}}
+ end
end
}.compact.join("\n")
else
diff --git a/test/test_pages_view.rb b/test/test_pages_view.rb
index 85a0bbde..868ccacd 100644
--- a/test/test_pages_view.rb
+++ b/test/test_pages_view.rb
@@ -2,14 +2,26 @@
require File.expand_path(File.join(File.dirname(__FILE__), 'helper'))
require File.expand_path '../../lib/gollum/views/pages', __FILE__
-FakeResult = Struct.new(:path) do
+FakePageResult = Struct.new(:path) do
def name
File.basename(path, File.extname(path)).gsub("-", " ")
end
-
def escaped_url_path
CGI.escape(path).gsub(/\..+$/, "").gsub("%2F", "/")
end
+ def format
+ true
+ end
+end
+
+FakeFileResult = Struct.new(:path) do
+ def name
+ File.basename(path).gsub("-", " ")
+ end
+ def escaped_url_path
+ result = path.sub(/\/[^\/]+$/, '/')
+ CGI.escape(result).gsub("%2F", "/")
+ end
end
context "Precious::Views::Pages" do
@@ -30,17 +42,17 @@ context "Precious::Views::Pages" do
test "files_folders" do
@page.instance_variable_set("@path", "Mordor")
@page.instance_variable_set("@base_url", "")
- results = [FakeResult.new("Mordor/Eye-Of-Sauron.md"), FakeResult.new("Mordor/Orc/Saruman.md"), FakeResult.new("Mordor/.gitkeep")]
+ results = [FakePageResult.new("Mordor/Eye-Of-Sauron.md"), FakeFileResult.new("Mordor/Aragorn.pdf"), FakePageResult.new("Mordor/Orc/Saruman.md"), FakeFileResult.new("Mordor/.gitkeep")]
@page.instance_variable_set("@results", results)
- assert_equal %{Eye Of Sauron\nOrc}, @page.files_folders
+ assert_equal %{Eye Of Sauron\nAragorn.pdf\nOrc}, @page.files_folders
end
test "base url" do
# based on test "files_folders"
@page.instance_variable_set("@path", "Mordor")
@page.instance_variable_set("@base_url", "/wiki")
- results = [FakeResult.new("Mordor/Eye-Of-Sauron.md"), FakeResult.new("Mordor/Orc/Saruman.md"), FakeResult.new("Mordor/.gitkeep")]
+ results = [FakePageResult.new("Mordor/Eye-Of-Sauron.md"), FakeFileResult.new("Mordor/Aragorn.pdf"), FakePageResult.new("Mordor/Orc/Saruman.md"), FakePageResult.new("Mordor/.gitkeep")]
@page.instance_variable_set("@results", results)
- assert_equal %{Eye Of Sauron\nOrc}, @page.files_folders
+ assert_equal %{Eye Of Sauron\nAragorn.pdf\nOrc}, @page.files_folders
end
end