From 134420f2eff904f9e40165751fcd8700b0770157 Mon Sep 17 00:00:00 2001 From: Stan Hu Date: Wed, 13 Feb 2019 10:46:14 -0800 Subject: Fix Content-Disposition hard-coded to attachments Due to a regression in https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/24919, Content-Disposition is hard-coded to `attachment` instead of `inline`. We now use the argument `disposition` to fix that problem. Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/57660 --- spec/controllers/concerns/send_file_upload_spec.rb | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'spec/controllers/concerns') diff --git a/spec/controllers/concerns/send_file_upload_spec.rb b/spec/controllers/concerns/send_file_upload_spec.rb index a07113a6156..cf3b24f50a3 100644 --- a/spec/controllers/concerns/send_file_upload_spec.rb +++ b/spec/controllers/concerns/send_file_upload_spec.rb @@ -52,6 +52,23 @@ describe SendFileUpload do end end + context 'with inline image' do + let(:filename) { 'test.png' } + let(:params) { { disposition: 'inline', attachment: filename } } + + it 'sends a file with inline disposition' do + # Notice the filename= is omitted from the disposition; this is because + # Rails 5 will append this header in send_file + expected_params = { + filename: 'test.png', + disposition: "inline; filename*=UTF-8''test.png" + } + expect(controller).to receive(:send_file).with(uploader.path, expected_params) + + subject + end + end + context 'with attachment' do let(:filename) { 'test.js' } let(:params) { { attachment: filename } } -- cgit v1.2.1