summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorSean McGivern <sean@mcgivern.me.uk>2017-10-16 10:11:55 +0000
committerLin Jen-Shin <godfat@godfat.org>2017-11-06 19:54:54 +0800
commit2dd66ad34a5b4a2d50da31ae440470ef02d28aaf (patch)
treea84bf014487bb05668f61481dc1d69129d9d73ab /spec
parent411cc6e4c59e6f61181d456cec127c344f277a7f (diff)
downloadgitlab-ce-2dd66ad34a5b4a2d50da31ae440470ef02d28aaf.tar.gz
Merge branch 'fix_diff_parsing' into 'master'
Fix diff parser so it tolerates to diff special markers in the content Closes #34431 See merge request gitlab-org/gitlab-ce!14848
Diffstat (limited to 'spec')
-rw-r--r--spec/lib/gitlab/diff/parser_spec.rb17
1 files changed, 17 insertions, 0 deletions
diff --git a/spec/lib/gitlab/diff/parser_spec.rb b/spec/lib/gitlab/diff/parser_spec.rb
index 8af49ed50ff..80c8c189665 100644
--- a/spec/lib/gitlab/diff/parser_spec.rb
+++ b/spec/lib/gitlab/diff/parser_spec.rb
@@ -143,4 +143,21 @@ eos
it { expect(parser.parse([])).to eq([]) }
it { expect(parser.parse(nil)).to eq([]) }
end
+
+ describe 'tolerates special diff markers in a content' do
+ it "counts lines correctly" do
+ diff = <<~END
+ --- a/test
+ +++ b/test
+ @@ -1,2 +1,2 @@
+ +ipsum
+ +++ b
+ -ipsum
+ END
+
+ lines = parser.parse(diff.lines).to_a
+
+ expect(lines.size).to eq(3)
+ end
+ end
end