Skip to content

Commit 269a626

Browse files
committed
Fix parsing on Windows
Replace windows EOL by Unix EOL
1 parent 6abfbdb commit 269a626

File tree

2 files changed

+48
-0
lines changed

2 files changed

+48
-0
lines changed

src/diff-parser.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,7 @@
124124

125125
var diffLines =
126126
diffInput.replace(/\\ No newline at end of file/g, '')
127+
.replace(/\r\n?/g, '\n')
127128
.split('\n');
128129

129130
/* Diff */

test/diff-parser-tests.js

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
var assert = require('assert');
2+
3+
var DiffParser = require('../src/diff-parser.js').DiffParser;
4+
5+
describe('DiffParser', function() {
6+
describe('generateDiffJson', function() {
7+
8+
it('should parse linux with \n diff', function() {
9+
var diff =
10+
'diff --git a/sample b/sample\n' +
11+
'index 0000001..0ddf2ba\n' +
12+
'--- a/sample\n' +
13+
'+++ b/sample\n' +
14+
'@@ -1 +1 @@\n' +
15+
'-test\n' +
16+
'+test1r\n';
17+
var result = Diff2Html.getJsonFromDiff(diff);
18+
var file1 = result[0];
19+
assert.equal(1, result.length);
20+
assert.equal(1, file1.addedLines);
21+
assert.equal(1, file1.deletedLines);
22+
assert.equal('sample', file1.oldName);
23+
assert.equal('sample', file1.newName);
24+
assert.equal(1, file1.blocks.length);
25+
});
26+
27+
it('should parse windows with \r\n diff', function() {
28+
var diff =
29+
'diff --git a/sample b/sample\r\n' +
30+
'index 0000001..0ddf2ba\r\n' +
31+
'--- a/sample\r\n' +
32+
'+++ b/sample\r\n' +
33+
'@@ -1 +1 @@\r\n' +
34+
'-test\r\n' +
35+
'+test1r\n';
36+
var result = Diff2Html.getJsonFromDiff(diff);
37+
var file1 = result[0];
38+
assert.equal(1, result.length);
39+
assert.equal(1, file1.addedLines);
40+
assert.equal(1, file1.deletedLines);
41+
assert.equal('sample', file1.oldName);
42+
assert.equal('sample', file1.newName);
43+
assert.equal(1, file1.blocks.length);
44+
});
45+
46+
});
47+
});

0 commit comments

Comments
 (0)