diff options
author | Francisco Javier López <fjlopez@gitlab.com> | 2018-09-07 14:10:15 +0000 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2018-09-07 14:10:15 +0000 |
commit | f67211f9885df6ebbf68c7a9b0106618fa40ff2f (patch) | |
tree | e766521bd1f124300692a303e10a9f04c35c85ba /spec | |
parent | 7f2b287f6622dd5052da369a8e83fd6707d96173 (diff) | |
download | gitlab-ce-f67211f9885df6ebbf68c7a9b0106618fa40ff2f.tar.gz |
Replace whitespaces in wiki page attachments file names
Diffstat (limited to 'spec')
-rw-r--r-- | spec/services/wikis/create_attachment_service_spec.rb | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/spec/services/wikis/create_attachment_service_spec.rb b/spec/services/wikis/create_attachment_service_spec.rb index 3f4da873ce4..f5899f292c8 100644 --- a/spec/services/wikis/create_attachment_service_spec.rb +++ b/spec/services/wikis/create_attachment_service_spec.rb @@ -88,8 +88,30 @@ describe Wikis::CreateAttachmentService do end end - describe 'validations' do + describe '#parse_file_name' do context 'when file_name' do + context 'has white spaces' do + let(:file_name) { 'file with spaces' } + + it "replaces all of them with '_'" do + result = service.execute + + expect(result[:status]).to eq :success + expect(result[:result][:file_name]).to eq 'file_with_spaces' + end + end + + context 'has other invalid characters' do + let(:file_name) { "file\twith\tinvalid chars" } + + it "replaces all of them with '_'" do + result = service.execute + + expect(result[:status]).to eq :success + expect(result[:result][:file_name]).to eq 'file_with_invalid_chars' + end + end + context 'is not present' do let(:file_name) { nil } |