Removes '\\ No newline at end of file' information from the diff lines. The test case is based on Bitbucket's diff attached to issue #49.
75 lines
2.8 KiB
JavaScript
75 lines
2.8 KiB
JavaScript
var assert = require('assert');
|
|
|
|
var Diff2Html = require('../src/diff2html.js').Diff2Html;
|
|
|
|
describe('Diff2Html', function() {
|
|
describe('getJsonFromDiff', function() {
|
|
it('should parse simple diff to json', function() {
|
|
var diff =
|
|
'diff --git a/sample b/sample\n' +
|
|
'index 0000001..0ddf2ba\n' +
|
|
'--- a/sample\n' +
|
|
'+++ b/sample\n' +
|
|
'@@ -1 +1 @@\n' +
|
|
'-test\n' +
|
|
'+test1\n';
|
|
var result = Diff2Html.getJsonFromDiff(diff);
|
|
var file1 = result[0];
|
|
assert.equal(1, result.length);
|
|
assert.equal(1, file1.addedLines);
|
|
assert.equal(1, file1.deletedLines);
|
|
assert.equal('sample', file1.oldName);
|
|
assert.equal('sample', file1.newName);
|
|
assert.equal(1, file1.blocks.length);
|
|
});
|
|
|
|
// Test case for issue #49
|
|
it('should parse diff with added EOF', function() {
|
|
var diff =
|
|
'diff --git a/sample.scala b/sample.scala\n' +
|
|
'index b583263..8b2fc3e 100644\n' +
|
|
'--- a/b583263..8b2fc3e\n' +
|
|
'+++ b/8b2fc3e\n' +
|
|
'@@ -50,5 +50,7 @@ case class Response[+A](value: Option[A],\n' +
|
|
' object ResponseErrorCode extends JsonEnumeration {\n' +
|
|
' val NoError, ServiceError, JsonError,\n' +
|
|
' InvalidPermissions, MissingPermissions, GenericError,\n' +
|
|
'- TokenRevoked, MissingToken = Value\n' +
|
|
'-}\n' +
|
|
'\\ No newline at end of file\n' +
|
|
'+ TokenRevoked, MissingToken,\n' +
|
|
'+ IndexLock, RepositoryError, NotValidRepo, PullRequestNotMergeable, BranchError,\n' +
|
|
'+ PluginError, CodeParserError, EngineError = Value\n' +
|
|
'+}\n';
|
|
var result = Diff2Html.getJsonFromDiff(diff);
|
|
|
|
assert.equal(50, result[0].blocks[0].lines[0].oldNumber);
|
|
assert.equal(50, result[0].blocks[0].lines[0].newNumber);
|
|
|
|
assert.equal(51, result[0].blocks[0].lines[1].oldNumber);
|
|
assert.equal(51, result[0].blocks[0].lines[1].newNumber);
|
|
|
|
assert.equal(52, result[0].blocks[0].lines[2].oldNumber);
|
|
assert.equal(52, result[0].blocks[0].lines[2].newNumber);
|
|
|
|
assert.equal(53, result[0].blocks[0].lines[3].oldNumber);
|
|
assert.equal(null, result[0].blocks[0].lines[3].newNumber);
|
|
|
|
assert.equal(54, result[0].blocks[0].lines[4].oldNumber);
|
|
assert.equal(null, result[0].blocks[0].lines[4].newNumber);
|
|
|
|
assert.equal(null, result[0].blocks[0].lines[5].oldNumber);
|
|
assert.equal(53, result[0].blocks[0].lines[5].newNumber);
|
|
|
|
assert.equal(null, result[0].blocks[0].lines[6].oldNumber);
|
|
assert.equal(54, result[0].blocks[0].lines[6].newNumber);
|
|
|
|
|
|
assert.equal(null, result[0].blocks[0].lines[7].oldNumber);
|
|
assert.equal(55, result[0].blocks[0].lines[7].newNumber);
|
|
|
|
assert.equal(null, result[0].blocks[0].lines[8].oldNumber);
|
|
assert.equal(56, result[0].blocks[0].lines[8].newNumber);
|
|
});
|
|
});
|
|
});
|