Change pages display to handle non-wiki file types with --show_all enabled
This commit is contained in:
@@ -47,7 +47,11 @@ module Precious
|
|||||||
folder_link
|
folder_link
|
||||||
end
|
end
|
||||||
elsif page_path != ".gitkeep"
|
elsif page_path != ".gitkeep"
|
||||||
%{<li><a href="#{@base_url}/#{page.escaped_url_path}" class="file">#{page.name}</a></li>}
|
if defined? page.format
|
||||||
|
%{<li><a href="#{@base_url}/#{page.escaped_url_path}" class="file">#{page.name}</a></li>}
|
||||||
|
else
|
||||||
|
%{<li><a href="#{@base_url}/#{page.escaped_url_path}#{page.name}" class="file">#{page.name}</a></li>}
|
||||||
|
end
|
||||||
end
|
end
|
||||||
}.compact.join("\n")
|
}.compact.join("\n")
|
||||||
else
|
else
|
||||||
|
|||||||
+18
-6
@@ -2,14 +2,26 @@
|
|||||||
require File.expand_path(File.join(File.dirname(__FILE__), 'helper'))
|
require File.expand_path(File.join(File.dirname(__FILE__), 'helper'))
|
||||||
require File.expand_path '../../lib/gollum/views/pages', __FILE__
|
require File.expand_path '../../lib/gollum/views/pages', __FILE__
|
||||||
|
|
||||||
FakeResult = Struct.new(:path) do
|
FakePageResult = Struct.new(:path) do
|
||||||
def name
|
def name
|
||||||
File.basename(path, File.extname(path)).gsub("-", " ")
|
File.basename(path, File.extname(path)).gsub("-", " ")
|
||||||
end
|
end
|
||||||
|
|
||||||
def escaped_url_path
|
def escaped_url_path
|
||||||
CGI.escape(path).gsub(/\..+$/, "").gsub("%2F", "/")
|
CGI.escape(path).gsub(/\..+$/, "").gsub("%2F", "/")
|
||||||
end
|
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
|
end
|
||||||
|
|
||||||
context "Precious::Views::Pages" do
|
context "Precious::Views::Pages" do
|
||||||
@@ -30,17 +42,17 @@ context "Precious::Views::Pages" do
|
|||||||
test "files_folders" do
|
test "files_folders" do
|
||||||
@page.instance_variable_set("@path", "Mordor")
|
@page.instance_variable_set("@path", "Mordor")
|
||||||
@page.instance_variable_set("@base_url", "")
|
@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)
|
@page.instance_variable_set("@results", results)
|
||||||
assert_equal %{<li><a href="/Mordor/Eye-Of-Sauron" class="file">Eye Of Sauron</a></li>\n<li><a href="/pages/Mordor/Orc/" class="folder">Orc</a></li>}, @page.files_folders
|
assert_equal %{<li><a href="/Mordor/Eye-Of-Sauron" class="file">Eye Of Sauron</a></li>\n<li><a href="/Mordor/Aragorn.pdf" class="file">Aragorn.pdf</a></li>\n<li><a href="/pages/Mordor/Orc/" class="folder">Orc</a></li>}, @page.files_folders
|
||||||
end
|
end
|
||||||
|
|
||||||
test "base url" do
|
test "base url" do
|
||||||
# based on test "files_folders"
|
# based on test "files_folders"
|
||||||
@page.instance_variable_set("@path", "Mordor")
|
@page.instance_variable_set("@path", "Mordor")
|
||||||
@page.instance_variable_set("@base_url", "/wiki")
|
@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)
|
@page.instance_variable_set("@results", results)
|
||||||
assert_equal %{<li><a href="/wiki/Mordor/Eye-Of-Sauron" class="file">Eye Of Sauron</a></li>\n<li><a href="/wiki/pages/Mordor/Orc/" class="folder">Orc</a></li>}, @page.files_folders
|
assert_equal %{<li><a href="/wiki/Mordor/Eye-Of-Sauron" class="file">Eye Of Sauron</a></li>\n<li><a href=\"/wiki/Mordor/Aragorn.pdf\" class=\"file\">Aragorn.pdf</a></li>\n<li><a href="/wiki/pages/Mordor/Orc/" class="folder">Orc</a></li>}, @page.files_folders
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user