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

View file

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

View file

@ -257,5 +257,16 @@ FILE
it 'includes the blob icon for the file' do it 'includes the blob icon for the file' do
expect(conflict_file.as_json[:blob_icon]).to eq('file-text-o') expect(conflict_file.as_json[:blob_icon]).to eq('file-text-o')
end 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
end end