Merge branch 'fix-help-page-links' into 'master'
Fix error links in help index page when access it with url `http://gitlab.example.com/help/` which have an extra slash Fixes #24349 See merge request !7396
This commit is contained in:
commit
0f48abf24b
3 changed files with 44 additions and 2 deletions
|
@ -7,8 +7,8 @@ class HelpController < ApplicationController
|
|||
@help_index = File.read(Rails.root.join('doc', 'README.md'))
|
||||
|
||||
# Prefix Markdown links with `help/` unless they already have been
|
||||
# See http://rubular.com/r/nwwhzH6Z8X
|
||||
@help_index.gsub!(/(\]\()(?!help\/)([^\)\(]+)(\))/, '\1help/\2\3')
|
||||
# See http://rubular.com/r/ie2MlpdUMq
|
||||
@help_index.gsub!(/(\]\()(\/?help\/)?([^\)\(]+\))/, '\1/help/\3')
|
||||
end
|
||||
|
||||
def show
|
||||
|
|
4
changelogs/unreleased/fix-help-page-links.yml
Normal file
4
changelogs/unreleased/fix-help-page-links.yml
Normal file
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
title: Fix error links in help index page
|
||||
merge_request: 7396
|
||||
author: Fu Xu
|
|
@ -7,6 +7,40 @@ describe HelpController do
|
|||
sign_in(user)
|
||||
end
|
||||
|
||||
describe 'GET #index' do
|
||||
context 'when url prefixed without /help/' do
|
||||
it 'has correct url prefix' do
|
||||
stub_readme("[API](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
|
||||
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
|
||||
it 'will be an absolute path' do
|
||||
stub_readme("[API](helpful_hints/README.md)")
|
||||
get :index
|
||||
expect(assigns[:help_index]).to eq '[API](/help/helpful_hints/README.md)'
|
||||
end
|
||||
end
|
||||
|
||||
context 'when url prefixed with /help/' do
|
||||
it 'will not be changed' do
|
||||
stub_readme("[API](/help/api/README.md)")
|
||||
get :index
|
||||
expect(assigns[:help_index]).to eq '[API](/help/api/README.md)'
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe 'GET #show' do
|
||||
context 'for Markdown formats' do
|
||||
context 'when requested file exists' do
|
||||
|
@ -72,4 +106,8 @@ describe HelpController do
|
|||
end
|
||||
end
|
||||
end
|
||||
|
||||
def stub_readme(content)
|
||||
allow(File).to receive(:read).and_return(content)
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue