summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--spec/views/projects/diffs/_content.html.haml_spec.rb51
1 files changed, 51 insertions, 0 deletions
diff --git a/spec/views/projects/diffs/_content.html.haml_spec.rb b/spec/views/projects/diffs/_content.html.haml_spec.rb
new file mode 100644
index 00000000000..abc6a92a5fb
--- /dev/null
+++ b/spec/views/projects/diffs/_content.html.haml_spec.rb
@@ -0,0 +1,51 @@
+require 'rails_helper'
+
+describe 'projects/diffs/_content' do
+ context 'unsupported blobs' do
+ it 'renders nothing' do
+ allow(view).to receive(:blob).and_return(double)
+
+ expect(rendered).to eq ''
+ end
+ end
+
+ context 'supported blobs' do
+ def stub_blob(overrides = {})
+ messages = overrides.reverse_merge(text?: true)
+
+ allow(view).to receive(:blob).and_return(double(messages))
+ end
+
+ context 'diff is too large' do
+ it 'displays the correct message' do
+ stub_blob
+ allow(view).to receive(:diff_file).and_return(double(too_large?: true))
+
+ render
+
+ expect(rendered)
+ .to include("This diff could not be displayed because it is too large.")
+ end
+ end
+
+ context 'blob is too large' do
+ it 'displays the correct message' do
+ stub_blob(only_display_raw?: true)
+ allow(view).to receive(:diff_file).and_return(double(too_large?: false))
+
+ render
+
+ expect(rendered)
+ .to include("This file is too large to display.")
+ end
+ end
+
+ context 'blob text viewable' do
+ before do
+ allow(view).to receive(:blob_text_viewable?).and_return(true)
+ end
+ end
+
+ context 'blob text unviewable'
+ end
+end