diff options
author | Samantha Ming <sming@gitlab.com> | 2019-08-10 05:36:32 +0300 |
---|---|---|
committer | Mike Greiling <mike@pixelcog.com> | 2019-08-10 05:36:32 +0300 |
commit | fc0ff7cf033e6267d7348057faee0fbedf5b90e8 (patch) | |
tree | 49dc31b7ff02ccd3cb37191fae100e7bbf661c54 /spec/presenters/blobs | |
parent | cdac9ed86fb2c3a373be5b923bc3f02387b528fc (diff) |
Replace ... with new expansion options
- expand upwards
- expand downwards
- expand all
in both inline and parallel views
Diffstat (limited to 'spec/presenters/blobs')
-rw-r--r-- | spec/presenters/blobs/unfold_presenter_spec.rb | 68 |
1 files changed, 66 insertions, 2 deletions
diff --git a/spec/presenters/blobs/unfold_presenter_spec.rb b/spec/presenters/blobs/unfold_presenter_spec.rb index 1534c572b30..ab3f8080257 100644 --- a/spec/presenters/blobs/unfold_presenter_spec.rb +++ b/spec/presenters/blobs/unfold_presenter_spec.rb @@ -39,6 +39,21 @@ describe Blobs::UnfoldPresenter do expect(result.indent).to eq(0) end end + + context 'when to is -1' do + let(:params) { { full: false, since: 2, to: -1, bottom: true, offset: 1, indent: 1 } } + + it 'sets other attributes' do + result = subject + + expect(result.full?).to eq(false) + expect(result.since).to eq(2) + expect(result.to).to eq(blob.lines.size) + expect(result.bottom).to eq(false) + expect(result.offset).to eq(0) + expect(result.indent).to eq(0) + end + end end describe '#diff_lines' do @@ -83,8 +98,9 @@ describe Blobs::UnfoldPresenter do end end - context 'when since is greater than 1' do - let(:params) { { since: 5, to: 10, offset: 10 } } + context 'when "since" is greater than 1' do + let(:default_params) { { since: 5, to: 10, offset: 10 } } + let(:params) { default_params } it 'adds top match line' do line = subject.diff_lines.first @@ -93,6 +109,38 @@ describe Blobs::UnfoldPresenter do expect(line.old_pos).to eq(5) expect(line.new_pos).to eq(5) end + + context '"to" is higher than blob size' do + let(:params) { default_params.merge(to: total_lines + 10, bottom: true) } + + it 'does not add bottom match line' do + line = subject.diff_lines.last + + expect(line.type).to be_nil + end + end + + context '"to" is equal to blob size' do + let(:params) { default_params.merge(to: total_lines, bottom: true) } + + it 'does not add bottom match line' do + line = subject.diff_lines.last + + expect(line.type).to be_nil + end + end + + context '"to" is less than blob size' do + let(:params) { default_params.merge(to: total_lines - 3, bottom: true) } + + it 'adds bottom match line' do + line = subject.diff_lines.last + + expect(line.type).to eq('match') + expect(line.old_pos).to eq(total_lines - 3 - params[:offset]) + expect(line.new_pos).to eq(total_lines - 3) + end + end end context 'when "to" is less than blob size' do @@ -116,6 +164,22 @@ describe Blobs::UnfoldPresenter do expect(line.type).to be_nil end end + + context 'when "to" is "-1"' do + let(:params) { { since: 10, to: -1, offset: 10, bottom: true } } + + it 'does not add bottom match line' do + line = subject.diff_lines.last + + expect(line.type).to be_nil + end + + it 'last line is the latest blob line' do + line = subject.diff_lines.last + + expect(line.text).to eq(total_lines.to_s) + end + end end describe '#lines' do |