Add blob_ace_mode to conflict content response

This commit is contained in:
Sean McGivern 2016-10-13 10:34:15 +01:00 committed by Alfredo Sumaran
parent cdd0dd507d
commit 3764fd4b41
3 changed files with 17 additions and 0 deletions

View File

@ -25,6 +25,10 @@ module Gitlab
merge_file_result[:data]
end
def our_blob
@our_blob ||= repository.blob_at(merge_request.diff_refs.head_sha, our_path)
end
def type
lines unless @type
@ -209,6 +213,7 @@ module Gitlab
json_hash.tap do |json_hash|
if opts[:full_content]
json_hash[:content] = content
json_hash[:blob_ace_mode] = our_blob && our_blob.language.try(:ace_mode)
else
json_hash[:sections] = sections if type.text?
json_hash[:type] = type

View File

@ -712,6 +712,7 @@ describe Projects::MergeRequestsController do
'new_path' => path,
'blob_icon' => 'file-text-o',
'blob_path' => a_string_ending_with(path),
'blob_ace_mode' => 'ruby',
'content' => content)
end
end

View File

@ -257,5 +257,16 @@ FILE
it 'includes the blob icon for the file' do
expect(conflict_file.as_json[:blob_icon]).to eq('file-text-o')
end
context 'with the full_content option passed' do
it 'includes the full content of the conflict' do
expect(conflict_file.as_json(full_content: true)).to have_key(:content)
end
it 'includes the detected language of the conflict file' do
expect(conflict_file.as_json(full_content: true)[:blob_ace_mode]).
to eq('ruby')
end
end
end
end