Merge branch 'dm-escape-commit-message' into 'master'
Escape HTML entities in commit messages Closes #42833 See merge request gitlab-org/gitlab-ce!17144
This commit is contained in:
commit
27b71e800d
4 changed files with 12 additions and 8 deletions
5
changelogs/unreleased/dm-escape-commit-message.yml
Normal file
5
changelogs/unreleased/dm-escape-commit-message.yml
Normal file
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: Escape HTML entities in commit messages
|
||||
merge_request:
|
||||
author:
|
||||
type: fixed
|
|
@ -5,7 +5,7 @@ module Banzai
|
|||
# Text filter that escapes these HTML entities: & " < >
|
||||
class HtmlEntityFilter < HTML::Pipeline::TextFilter
|
||||
def call
|
||||
ERB::Util.html_escape_once(text)
|
||||
ERB::Util.html_escape(text)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -20,5 +20,9 @@ describe EventsHelper do
|
|||
it 'handles nil values' do
|
||||
expect(helper.event_commit_title(nil)).to eq('')
|
||||
end
|
||||
|
||||
it 'does not escape HTML entities' do
|
||||
expect(helper.event_commit_title("foo & bar")).to eq("foo & bar")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -3,17 +3,12 @@ require 'spec_helper'
|
|||
describe Banzai::Filter::HtmlEntityFilter do
|
||||
include FilterSpecHelper
|
||||
|
||||
let(:unescaped) { 'foo <strike attr="foo">&&&</strike>' }
|
||||
let(:escaped) { 'foo <strike attr="foo">&&&</strike>' }
|
||||
let(:unescaped) { 'foo <strike attr="foo">&&&</strike>' }
|
||||
let(:escaped) { 'foo <strike attr="foo">&&amp;&</strike>' }
|
||||
|
||||
it 'converts common entities to their HTML-escaped equivalents' do
|
||||
output = filter(unescaped)
|
||||
|
||||
expect(output).to eq(escaped)
|
||||
end
|
||||
|
||||
it 'does not double-escape' do
|
||||
escaped = ERB::Util.html_escape("Merge branch 'blabla' into 'master'")
|
||||
expect(filter(escaped)).to eq(escaped)
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue