summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwinniehell <git@winniehell.de>2016-07-24 06:43:21 +0200
committerwinniehell <git@winniehell.de>2016-08-02 21:52:52 +0200
commit4dd1f95516731465caa523be402400f56a53a4e9 (patch)
treeece1f9f3facee29fa25f3a47be709974a1073f4b
parentf4cb04da7625f437be9477805f3be4c329eae6df (diff)
downloadgitlab-ce-4dd1f95516731465caa523be402400f56a53a4e9.tar.gz
Add failing test for #20026
-rw-r--r--spec/lib/banzai/filter/relative_link_filter_spec.rb20
1 files changed, 18 insertions, 2 deletions
diff --git a/spec/lib/banzai/filter/relative_link_filter_spec.rb b/spec/lib/banzai/filter/relative_link_filter_spec.rb
index 224baca8030..4b8d14ec902 100644
--- a/spec/lib/banzai/filter/relative_link_filter_spec.rb
+++ b/spec/lib/banzai/filter/relative_link_filter_spec.rb
@@ -3,7 +3,7 @@ require 'spec_helper'
describe Banzai::Filter::RelativeLinkFilter, lib: true do
def filter(doc, contexts = {})
contexts.reverse_merge!({
- commit: project.commit,
+ commit: commit,
project: project,
project_wiki: project_wiki,
ref: ref,
@@ -28,6 +28,7 @@ describe Banzai::Filter::RelativeLinkFilter, lib: true do
let(:project) { create(:project) }
let(:project_path) { project.path_with_namespace }
let(:ref) { 'markdown' }
+ let(:commit) { project.commit(ref) }
let(:project_wiki) { nil }
let(:requested_path) { '/' }
@@ -77,7 +78,13 @@ describe Banzai::Filter::RelativeLinkFilter, lib: true do
expect { filter(act) }.not_to raise_error
end
- context 'with a valid repository' do
+ it 'ignores ref if commit is passed' do
+ doc = filter(link('non/existent.file'), commit: project.commit('empty-branch') )
+ expect(doc.at_css('a')['href']).
+ to eq "/#{project_path}/#{ref}/non/existent.file" # non-existent files have no leading blob/raw/tree
+ end
+
+ shared_examples :valid_repository do
it 'rebuilds absolute URL for a file in the repo' do
doc = filter(link('/doc/api/README.md'))
expect(doc.at_css('a')['href']).
@@ -184,4 +191,13 @@ describe Banzai::Filter::RelativeLinkFilter, lib: true do
include_examples :relative_to_requested
end
end
+
+ context 'with a valid commit' do
+ include_examples :valid_repository
+ end
+
+ context 'with a valid ref' do
+ let(:commit) { nil } # force filter to use ref instead of commit
+ include_examples :valid_repository
+ end
end