Commit 8a6bc266 authored by Rémy Coutable's avatar Rémy Coutable Committed by Alejandro Rodríguez

Merge branch 'fix-dead-help-link' into 'master'

Fix a broken link and avoid potential creation of future broken links on the help page.

See merge request !7582
parent ef3aec82
...@@ -6,9 +6,9 @@ class HelpController < ApplicationController ...@@ -6,9 +6,9 @@ class HelpController < ApplicationController
def index def index
@help_index = File.read(Rails.root.join('doc', 'README.md')) @help_index = File.read(Rails.root.join('doc', 'README.md'))
# Prefix Markdown links with `help/` unless they already have been # Prefix Markdown links with `help/` unless they are external links
# See http://rubular.com/r/ie2MlpdUMq # See http://rubular.com/r/MioSrVLK3S
@help_index.gsub!(/(\]\()(\/?help\/)?([^\)\(]+\))/, '\1/help/\3') @help_index.gsub!(%r{(\]\()(?!.+://)([^\)\(]+\))}, '\1/help/\2')
end end
def show def show
......
...@@ -16,14 +16,6 @@ describe HelpController do ...@@ -16,14 +16,6 @@ describe HelpController do
end end
end end
context 'when url prefixed with help/' do
it 'will be an absolute path' do
stub_readme("[API](help/api/README.md)")
get :index
expect(assigns[:help_index]).to eq '[API](/help/api/README.md)'
end
end
context 'when url prefixed with help' do context 'when url prefixed with help' do
it 'will be an absolute path' do it 'will be an absolute path' do
stub_readme("[API](helpful_hints/README.md)") stub_readme("[API](helpful_hints/README.md)")
...@@ -32,11 +24,11 @@ describe HelpController do ...@@ -32,11 +24,11 @@ describe HelpController do
end end
end end
context 'when url prefixed with /help/' do context 'when url is an external link' do
it 'will not be changed' do it 'will not be changed' do
stub_readme("[API](/help/api/README.md)") stub_readme("[external](https://some.external.link)")
get :index get :index
expect(assigns[:help_index]).to eq '[API](/help/api/README.md)' expect(assigns[:help_index]).to eq '[external](https://some.external.link)'
end end
end end
end end
......
...@@ -10,4 +10,28 @@ describe 'Help Pages', feature: true do ...@@ -10,4 +10,28 @@ describe 'Help Pages', feature: true do
expect(page).to have_content("ssh-keygen -t rsa -C \"#{@user.email}\"") expect(page).to have_content("ssh-keygen -t rsa -C \"#{@user.email}\"")
end end
end end
describe 'Get the main help page' do
shared_examples_for 'help page' do
it 'prefixes links correctly' do
expect(page).to have_selector('div.documentation-index > ul a[href="/help/api/README.md"]')
end
end
context 'without a trailing slash' do
before do
visit help_path
end
it_behaves_like 'help page'
end
context 'with a trailing slash' do
before do
visit help_path + '/'
end
it_behaves_like 'help page'
end
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