Commit e649ea2f authored by Marin Jankovski's avatar Marin Jankovski

Links in Readme in tree view.

parent ace9ff4a
......@@ -129,11 +129,18 @@ module GitlabMarkdownHelper
# Covering a special case, when the link is referencing file in the same directory eg:
# If we are at doc/api/README.md and the README.md contains relative links like [Users](users.md)
# 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
# If we are at doc/api and the README.md shown in below the tree view
# this takes the rquest path(doc/api) and adds users.md so the path looks like doc/api/users.md
def build_nested_path(path, request_path)
return path unless request_path
if local_path(request_path) == "tree"
base = request_path.split("/").push(path)
base.join("/")
else
base = request_path.split("/")
base.pop
(base + [path]).join("/")
base.push(path).join("/")
end
end
def file_exists?(path)
......
......@@ -73,3 +73,8 @@ Feature: Project markdown render
Given I visit to the help page
And I select a page with markdown
Then I should see a help page with markdown
Scenario: Tree view should have correct links in README
Given I go directory which contains README file
And I click on a relative link in README
Then I should see the correct markdown
......@@ -162,4 +162,18 @@ class Spinach::Features::ProjectMarkdownRender < Spinach::FeatureSteps
Then 'I should see a help page with markdown' do
page.should have_content "GitLab provides some specific rake tasks to enable special features or perform maintenance tasks"
end
Given 'I go directory which contains README file' do
visit project_tree_path(@project, "master/doc/api")
current_path.should == project_tree_path(@project, "master/doc/api")
end
And 'I click on a relative link in README' do
click_link "Users"
end
Then 'I should see the correct markdown' do
current_path.should == project_blob_path(@project, "master/doc/api/users.md")
page.should have_content "List users"
end
end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment