diff options
author | Jan Provaznik <jprovaznik@gitlab.com> | 2017-12-07 10:07:51 +0300 |
---|---|---|
committer | Jan Provaznik <jprovaznik@gitlab.com> | 2017-12-07 10:42:51 +0300 |
commit | 896b14a19f66f6c53747600a6af156a2767afa0c (patch) | |
tree | 9eec95cc74b8a4cc39962d819cf27123db6e390a | |
parent | 29e39e55c3d4b5c6c34c6faec84b0dcd5a3efffa (diff) |
Change order of banzai filtersjprovaznik-numbers
TableOfContents filter is moved later in the pipeline
because it generates anchor links which are then considered
as issue references by IssueReference filter.
Closes #38473
-rw-r--r-- | changelogs/unreleased/anchor-issue-references.yml | 6 | ||||
-rw-r--r-- | lib/banzai/pipeline/gfm_pipeline.rb | 3 | ||||
-rw-r--r-- | spec/lib/gitlab/reference_extractor_spec.rb | 9 |
3 files changed, 17 insertions, 1 deletions
diff --git a/changelogs/unreleased/anchor-issue-references.yml b/changelogs/unreleased/anchor-issue-references.yml new file mode 100644 index 00000000000..2e60c3a0781 --- /dev/null +++ b/changelogs/unreleased/anchor-issue-references.yml @@ -0,0 +1,6 @@ +--- +title: Fix false positive issue references in merge requests caused by header anchor + links. +merge_request: +author: jprovaznik +type: fixed diff --git a/lib/banzai/pipeline/gfm_pipeline.rb b/lib/banzai/pipeline/gfm_pipeline.rb index 55874ad50a3..875a5eec460 100644 --- a/lib/banzai/pipeline/gfm_pipeline.rb +++ b/lib/banzai/pipeline/gfm_pipeline.rb @@ -20,7 +20,6 @@ module Banzai Filter::ImageLazyLoadFilter, Filter::ImageLinkFilter, Filter::EmojiFilter, - Filter::TableOfContentsFilter, Filter::AutolinkFilter, Filter::ExternalLinkFilter, @@ -34,6 +33,8 @@ module Banzai Filter::LabelReferenceFilter, Filter::MilestoneReferenceFilter, + Filter::TableOfContentsFilter, + Filter::TaskListFilter, Filter::InlineDiffFilter, diff --git a/spec/lib/gitlab/reference_extractor_spec.rb b/spec/lib/gitlab/reference_extractor_spec.rb index 476a3f1998d..bce0fa2ea8f 100644 --- a/spec/lib/gitlab/reference_extractor_spec.rb +++ b/spec/lib/gitlab/reference_extractor_spec.rb @@ -115,6 +115,15 @@ describe Gitlab::ReferenceExtractor do end end + it 'does not include anchors from table of contents in issue references' do + issue1 = create(:issue, project: project) + issue2 = create(:issue, project: project) + + subject.analyze("not real issue <h4>#{issue1.iid}</h4>, real issue #{issue2.to_reference}") + + expect(subject.issues).to match_array([issue2]) + end + it 'accesses valid issue objects' do @i0 = create(:issue, project: project) @i1 = create(:issue, project: project) |