# ~*~ 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 = '