diff options
-rw-r--r-- | app/controllers/concerns/renders_blob.rb | 6 | ||||
-rw-r--r-- | spec/controllers/projects/blob_controller_spec.rb | 20 |
2 files changed, 25 insertions, 1 deletions
diff --git a/app/controllers/concerns/renders_blob.rb b/app/controllers/concerns/renders_blob.rb index 1d37e4cb3bd..2c50957b46a 100644 --- a/app/controllers/concerns/renders_blob.rb +++ b/app/controllers/concerns/renders_blob.rb @@ -14,7 +14,11 @@ module RendersBlob return render_404 unless viewer render json: { - html: view_to_html_string("projects/blob/_viewer", viewer: viewer, load_async: false) + html: view_to_html_string("projects/blob/_viewer", viewer: viewer, load_async: false), + plain: blob.data, + name: blob.name, + size: blob.size, + mime_type: blob.mime_type } end diff --git a/spec/controllers/projects/blob_controller_spec.rb b/spec/controllers/projects/blob_controller_spec.rb index 3b3caa9d3e6..a82ef10caaf 100644 --- a/spec/controllers/projects/blob_controller_spec.rb +++ b/spec/controllers/projects/blob_controller_spec.rb @@ -35,6 +35,26 @@ describe Projects::BlobController do end end + context 'with file path and JSON format' do + context "valid branch, valid file" do + let(:id) { 'master/README.md' } + + before do + get(:show, + namespace_id: project.namespace, + project_id: project, + id: id, + format: :json) + end + + it do + expect(response).to be_ok + expect(json_response).to have_key 'html' + expect(json_response).to have_key 'plain' + end + end + end + context 'with tree path' do before do get(:show, |