Commit e649ea2fc5e765f11579ad9aa8e90e69764bd590

Authored by Marin Jankovski
1 parent ace9ff4a

Links in Readme in tree view.

app/helpers/gitlab_markdown_helper.rb
... ... @@ -129,11 +129,18 @@ module GitlabMarkdownHelper
129 129 # Covering a special case, when the link is referencing file in the same directory eg:
130 130 # If we are at doc/api/README.md and the README.md contains relative links like [Users](users.md)
131 131 # this takes the request path(doc/api/README.md), and replaces the README.md with users.md so the path looks like doc/api/users.md
  132 + # If we are at doc/api and the README.md shown in below the tree view
  133 + # this takes the rquest path(doc/api) and adds users.md so the path looks like doc/api/users.md
132 134 def build_nested_path(path, request_path)
133 135 return path unless request_path
134   - base = request_path.split("/")
135   - base.pop
136   - (base + [path]).join("/")
  136 + if local_path(request_path) == "tree"
  137 + base = request_path.split("/").push(path)
  138 + base.join("/")
  139 + else
  140 + base = request_path.split("/")
  141 + base.pop
  142 + base.push(path).join("/")
  143 + end
137 144 end
138 145  
139 146 def file_exists?(path)
... ...
features/project/source/markdown_render.feature
... ... @@ -72,4 +72,9 @@ Feature: Project markdown render
72 72 Scenario: I visit the help page with markdown
73 73 Given I visit to the help page
74 74 And I select a page with markdown
75   - Then I should see a help page with markdown
76 75 \ No newline at end of file
  76 + Then I should see a help page with markdown
  77 +
  78 + Scenario: Tree view should have correct links in README
  79 + Given I go directory which contains README file
  80 + And I click on a relative link in README
  81 + Then I should see the correct markdown
... ...
features/steps/project/project_markdown_render.rb
... ... @@ -162,4 +162,18 @@ class Spinach::Features::ProjectMarkdownRender < Spinach::FeatureSteps
162 162 Then 'I should see a help page with markdown' do
163 163 page.should have_content "GitLab provides some specific rake tasks to enable special features or perform maintenance tasks"
164 164 end
165   -end
166 165 \ No newline at end of file
  166 +
  167 + Given 'I go directory which contains README file' do
  168 + visit project_tree_path(@project, "master/doc/api")
  169 + current_path.should == project_tree_path(@project, "master/doc/api")
  170 + end
  171 +
  172 + And 'I click on a relative link in README' do
  173 + click_link "Users"
  174 + end
  175 +
  176 + Then 'I should see the correct markdown' do
  177 + current_path.should == project_blob_path(@project, "master/doc/api/users.md")
  178 + page.should have_content "List users"
  179 + end
  180 +end
... ...