Commit d1a054c5 authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets

Merge branch 'fix/relative_links_in_readme' of /home/git/repositories/gitlab/gitlabhq

parents 18a6f31b e649ea2f
...@@ -129,11 +129,18 @@ module GitlabMarkdownHelper ...@@ -129,11 +129,18 @@ module GitlabMarkdownHelper
# Covering a special case, when the link is referencing file in the same directory eg: # 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) # 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 # 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) def build_nested_path(path, request_path)
return path unless 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 = request_path.split("/")
base.pop base.pop
(base + [path]).join("/") base.push(path).join("/")
end
end end
def file_exists?(path) def file_exists?(path)
......
...@@ -73,3 +73,8 @@ Feature: Project markdown render ...@@ -73,3 +73,8 @@ Feature: Project markdown render
Given I visit to the help page Given I visit to the help page
And I select a page with markdown And I select a page with markdown
Then I should see a help 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 ...@@ -162,4 +162,18 @@ class Spinach::Features::ProjectMarkdownRender < Spinach::FeatureSteps
Then 'I should see a help page with markdown' do 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" page.should have_content "GitLab provides some specific rake tasks to enable special features or perform maintenance tasks"
end 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 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