diff options
author | micael.bergeron <micael.bergeron@solutionstlm.com> | 2017-09-04 14:25:08 -0400 |
---|---|---|
committer | micael.bergeron <micael.bergeron@solutionstlm.com> | 2017-09-06 09:01:53 -0400 |
commit | 5625b0e4534de834235ce5dbeef89a5e976b698c (patch) | |
tree | 2f05e95a78d355b9f1e8c72220669b0d1725e9b4 | |
parent | c9aa7932152bd10f6fc7b87b3263922aa4b911b7 (diff) | |
download | gitlab-ce-5625b0e4534de834235ce5dbeef89a5e976b698c.tar.gz |
add .json_safe_diff spec
-rw-r--r-- | spec/lib/gitlab/git/diff_spec.rb | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/spec/lib/gitlab/git/diff_spec.rb b/spec/lib/gitlab/git/diff_spec.rb index dfbdbee48f7..bbbba3b5839 100644 --- a/spec/lib/gitlab/git/diff_spec.rb +++ b/spec/lib/gitlab/git/diff_spec.rb @@ -273,6 +273,25 @@ EOT end end + describe '.json_safe_diff' do + let(:project) { create(:project, :repository) } + + it 'fake binary message when it detects binary' do + # Rugged will not detect this as binary, but we can fake it + diff_message = "Binary files files/images/icn-time-tracking.pdf and files/images/icn-time-tracking.pdf differ\n" + binary_diff = described_class.between(project.repository, 'add-pdf-text-binary', 'add-pdf-text-binary^').first + + expect(binary_diff.diff).not_to be_empty + expect(binary_diff.json_safe_diff).to eq(diff_message) + end + + it 'leave non-binary diffs as-is' do + diff = described_class.new(@rugged_diff) + + expect(diff.json_safe_diff).to eq(diff.diff) + end + end + describe '#submodule?' do before do commit = repository.lookup('5937ac0a7beb003549fc5fd26fc247adbce4a52e') |