summaryrefslogtreecommitdiff
path: root/spec/lib/gitlab/conflict/file_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/lib/gitlab/conflict/file_spec.rb')
-rw-r--r--spec/lib/gitlab/conflict/file_spec.rb32
1 files changed, 20 insertions, 12 deletions
diff --git a/spec/lib/gitlab/conflict/file_spec.rb b/spec/lib/gitlab/conflict/file_spec.rb
index 0de944d3f8a..bb9bee763d8 100644
--- a/spec/lib/gitlab/conflict/file_spec.rb
+++ b/spec/lib/gitlab/conflict/file_spec.rb
@@ -97,19 +97,27 @@ RSpec.describe Gitlab::Conflict::File do
let(:diff_line_types) { conflict_file.diff_lines_for_serializer.map(&:type) }
it 'assigns conflict types to the diff lines' do
- expect(diff_line_types[4]).to eq('conflict_marker')
- expect(diff_line_types[5..10]).to eq(['conflict_marker_our'] * 6)
+ expect(diff_line_types[4]).to eq('conflict_marker_our')
+ expect(diff_line_types[5..10]).to eq(['conflict_our'] * 6)
expect(diff_line_types[11]).to eq('conflict_marker')
- expect(diff_line_types[12..17]).to eq(['conflict_marker_their'] * 6)
- expect(diff_line_types[18]).to eq('conflict_marker')
+ expect(diff_line_types[12..17]).to eq(['conflict_their'] * 6)
+ expect(diff_line_types[18]).to eq('conflict_marker_their')
expect(diff_line_types[19..24]).to eq([nil] * 6)
- expect(diff_line_types[25]).to eq('conflict_marker')
- expect(diff_line_types[26..27]).to eq(['conflict_marker_our'] * 2)
+ expect(diff_line_types[25]).to eq('conflict_marker_our')
+ expect(diff_line_types[26..27]).to eq(['conflict_our'] * 2)
expect(diff_line_types[28]).to eq('conflict_marker')
- expect(diff_line_types[29..30]).to eq(['conflict_marker_their'] * 2)
- expect(diff_line_types[31]).to eq('conflict_marker')
+ expect(diff_line_types[29..30]).to eq(['conflict_their'] * 2)
+ expect(diff_line_types[31]).to eq('conflict_marker_their')
+ end
+
+ # Swap the positions around due to conflicts/diffs display inconsistency
+ # https://gitlab.com/gitlab-org/gitlab/-/issues/291989
+ it 'swaps the new and old positions around' do
+ lines = conflict_file.diff_lines_for_serializer
+ expect(lines.map(&:old_pos)[26..27]).to eq([21, 22])
+ expect(lines.map(&:new_pos)[29..30]).to eq([21, 22])
end
it 'does not add a match line to the end of the section' do
@@ -124,13 +132,13 @@ RSpec.describe Gitlab::Conflict::File do
expect(diff_line_types).to eq([
'match',
nil, nil, nil,
- "conflict_marker",
"conflict_marker_our",
+ "conflict_our",
"conflict_marker",
+ "conflict_their",
+ "conflict_their",
+ "conflict_their",
"conflict_marker_their",
- "conflict_marker_their",
- "conflict_marker_their",
- "conflict_marker",
nil, nil, nil,
"match"
])