Merge branch 'fix_spaces_in_label_title' into 'master'

Remove heading and trailing spaces from label's color and title

See merge request !10603
This commit is contained in:
Sean McGivern 2017-04-12 15:40:12 +00:00
commit 18188a5346
3 changed files with 26 additions and 0 deletions

View file

@ -21,6 +21,8 @@ class Label < ActiveRecord::Base
has_many :issues, through: :label_links, source: :target, source_type: 'Issue'
has_many :merge_requests, through: :label_links, source: :target, source_type: 'MergeRequest'
before_validation :strip_whitespace_from_title_and_color
validates :color, color: true, allow_blank: false
# Don't allow ',' for label titles
@ -193,4 +195,8 @@ class Label < ActiveRecord::Base
def sanitize_title(value)
CGI.unescapeHTML(Sanitize.clean(value.to_s))
end
def strip_whitespace_from_title_and_color
%w(color title).each { |attr| self[attr] = self[attr]&.strip }
end
end

View file

@ -0,0 +1,4 @@
---
title: Remove heading and trailing spaces from label's color and title
merge_request: 10603
author: blackst0ne

View file

@ -42,11 +42,27 @@ describe Label, models: true do
end
end
describe '#color' do
it 'strips color' do
label = described_class.new(color: ' #abcdef ')
label.valid?
expect(label.color).to eq('#abcdef')
end
end
describe '#title' do
it 'sanitizes title' do
label = described_class.new(title: '<b>foo & bar?</b>')
expect(label.title).to eq('foo & bar?')
end
it 'strips title' do
label = described_class.new(title: ' label ')
label.valid?
expect(label.title).to eq('label')
end
end
describe 'priorization' do