diff options
-rw-r--r-- | app/views/projects/commits/_commit.atom.builder | 4 | ||||
-rw-r--r-- | changelogs/unreleased/41208-commit-atom-feeds-double-escaped.yml | 5 | ||||
-rw-r--r-- | spec/controllers/projects/commits_controller_spec.rb | 8 |
3 files changed, 14 insertions, 3 deletions
diff --git a/app/views/projects/commits/_commit.atom.builder b/app/views/projects/commits/_commit.atom.builder index d806acdda13..04914888763 100644 --- a/app/views/projects/commits/_commit.atom.builder +++ b/app/views/projects/commits/_commit.atom.builder @@ -1,7 +1,7 @@ xml.entry do xml.id project_commit_url(@project, id: commit.id) xml.link href: project_commit_url(@project, id: commit.id) - xml.title truncate(commit.title, length: 80) + xml.title truncate(commit.title, length: 80, escape: false) xml.updated commit.committed_date.xmlschema xml.media :thumbnail, width: "40", height: "40", url: image_url(avatar_icon(commit.author_email)) @@ -10,5 +10,5 @@ xml.entry do xml.email commit.author_email end - xml.summary markdown(commit.description, pipeline: :single_line) + xml.summary markdown(commit.description, pipeline: :single_line), type: 'html' end diff --git a/changelogs/unreleased/41208-commit-atom-feeds-double-escaped.yml b/changelogs/unreleased/41208-commit-atom-feeds-double-escaped.yml new file mode 100644 index 00000000000..76d3c6eda24 --- /dev/null +++ b/changelogs/unreleased/41208-commit-atom-feeds-double-escaped.yml @@ -0,0 +1,5 @@ +--- +title: Allows html text in commits atom feed +merge_request: 16603 +author: Jacopo Beschi @jacopo-beschi +type: fixed diff --git a/spec/controllers/projects/commits_controller_spec.rb b/spec/controllers/projects/commits_controller_spec.rb index 73fb90d73ec..55ed276f96b 100644 --- a/spec/controllers/projects/commits_controller_spec.rb +++ b/spec/controllers/projects/commits_controller_spec.rb @@ -41,15 +41,21 @@ describe Projects::CommitsController do context "when the ref name ends in .atom" do context "when the ref does not exist with the suffix" do - it "renders as atom" do + before do get(:show, namespace_id: project.namespace, project_id: project, id: "master.atom") + end + it "renders as atom" do expect(response).to be_success expect(response.content_type).to eq('application/atom+xml') end + + it 'renders summary with type=html' do + expect(response.body).to include('<summary type="html">') + end end context "when the ref exists with the suffix" do |