diff options
author | winniehell <git@winniehell.de> | 2016-07-24 06:43:21 +0200 |
---|---|---|
committer | winniehell <git@winniehell.de> | 2016-08-02 21:52:52 +0200 |
commit | 4dd1f95516731465caa523be402400f56a53a4e9 (patch) | |
tree | ece1f9f3facee29fa25f3a47be709974a1073f4b | |
parent | f4cb04da7625f437be9477805f3be4c329eae6df (diff) | |
download | gitlab-ce-4dd1f95516731465caa523be402400f56a53a4e9.tar.gz |
Add failing test for #20026
-rw-r--r-- | spec/lib/banzai/filter/relative_link_filter_spec.rb | 20 |
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 |