# ~*~ encoding: utf-8 ~*~
require File.expand_path(File.join(File.dirname(__FILE__), 'helper'))
require File.expand_path '../../lib/gollum/views/overview', __FILE__
FakePageResult = Struct.new(:path) do
def name
File.basename(path, File.extname(path)).gsub("-", " ")
end
alias filename name
def escaped_url_path
CGI.escape(path).gsub(/\..+$/, "").gsub("%2F", "/")
end
def url_path
path
end
def format
true
end
end
FakeFileResult = Struct.new(:path) do
def name
File.basename(path).gsub("-", " ")
end
alias filename name
def url_path
path
end
def escaped_url_path
result = path.sub(/\/[^\/]+$/, '/')
result = result << name if result.include?('/')
CGI.escape(result).gsub("%2F", "/")
end
end
context "Precious::Views::Overview" do
setup do
@page = Precious::Views::Overview.new
end
test "breadcrumb" do
@page.instance_variable_set("@path", "Mordor/Eye-Of-Sauron/Saruman")
@page.instance_variable_set("@base_url", "")
assert_equal "", @page.breadcrumb
end
test "breadcrumbs guard against malicious filenames" do
malicious_path = '