diff options
author | Valery Sizov <valery@gitlab.com> | 2016-12-02 14:03:30 +0200 |
---|---|---|
committer | Valery Sizov <valery@gitlab.com> | 2016-12-02 14:03:30 +0200 |
commit | f5d7a61760d8f60c27b8838db826468768154733 (patch) | |
tree | a582ecc1788ace878cdbc1467c91dd4c654b41e0 | |
parent | 2394afe4304626130ee70ec095b9d9b399868969 (diff) | |
download | gitlab-ce-f5d7a61760d8f60c27b8838db826468768154733.tar.gz |
Fixes ActionView::Template::Error: undefined method `text?` for nil:NilClass25251-actionview-template-error-undefined-method-text-for-nil-nilclass
3 files changed, 14 insertions, 1 deletions
diff --git a/changelogs/unreleased/25251-actionview-template-error-undefined-method-text-for-nil-nilclass.yml b/changelogs/unreleased/25251-actionview-template-error-undefined-method-text-for-nil-nilclass.yml new file mode 100644 index 00000000000..7f1c417bc77 --- /dev/null +++ b/changelogs/unreleased/25251-actionview-template-error-undefined-method-text-for-nil-nilclass.yml @@ -0,0 +1,5 @@ +--- +title: 'Fixes "ActionView::Template::Error: undefined method `text?` for nil:NilClass" + on MR pages' +merge_request: +author: diff --git a/lib/gitlab/diff/file_collection/merge_request_diff.rb b/lib/gitlab/diff/file_collection/merge_request_diff.rb index 26bb0bc16f5..56530448f36 100644 --- a/lib/gitlab/diff/file_collection/merge_request_diff.rb +++ b/lib/gitlab/diff/file_collection/merge_request_diff.rb @@ -61,7 +61,7 @@ module Gitlab end def cacheable?(diff_file) - @merge_request_diff.present? && diff_file.blob.text? + @merge_request_diff.present? && diff_file.blob && diff_file.blob.text? end def cache_key diff --git a/spec/lib/gitlab/diff/file_collection/merge_request_diff_spec.rb b/spec/lib/gitlab/diff/file_collection/merge_request_diff_spec.rb index c863a5f04cc..2a680f03476 100644 --- a/spec/lib/gitlab/diff/file_collection/merge_request_diff_spec.rb +++ b/spec/lib/gitlab/diff/file_collection/merge_request_diff_spec.rb @@ -10,4 +10,12 @@ describe Gitlab::Diff::FileCollection::MergeRequestDiff do described_class.new(merge_request.merge_request_diff, diff_options: nil).diff_files end + + it 'does not hightlight file if blob is not accessable' do + allow_any_instance_of(Gitlab::Diff::File).to receive(:blob).and_return(nil) + + expect_any_instance_of(Gitlab::Diff::File).not_to receive(:highlighted_diff_lines) + + described_class.new(merge_request.merge_request_diff, diff_options: nil).diff_files + end end |