var assert = require('assert');
var LineByLinePrinter = require('../src/line-by-line-printer.js').LineByLinePrinter;
describe('LineByLinePrinter', function() {
describe('_generateEmptyDiff', function() {
it('should return an empty diff', function() {
var lineByLinePrinter = new LineByLinePrinter({});
var fileHtml = lineByLinePrinter._generateEmptyDiff();
var expected = '
\n' +
' | ' +
' ' +
'File without changes' +
' ' +
' | \n' +
'
\n';
assert.equal(expected, fileHtml);
});
});
describe('_generateLineHtml', function() {
it('should work for insertions', function() {
var diffParser = require('../src/diff-parser.js').DiffParser;
var lineByLinePrinter = new LineByLinePrinter({});
var fileHtml = lineByLinePrinter._generateLineHtml(
diffParser.LINE_TYPE.INSERTS, '', 30, '+', 'test');
var expected = '\n' +
' | ' +
' ' +
' 30 ' +
' | \n' +
' ' +
' ' +
'test' +
'+ ' +
' | \n' +
'
\n';
assert.equal(expected, fileHtml);
});
it('should work for deletions', function() {
var diffParser = require('../src/diff-parser.js').DiffParser;
var lineByLinePrinter = new LineByLinePrinter({});
var fileHtml = lineByLinePrinter._generateLineHtml(
diffParser.LINE_TYPE.DELETES, 30, '', '-', 'test');
var expected = '\n' +
' | ' +
' 30 ' +
' ' +
' | \n' +
' ' +
' ' +
'test' +
'- ' +
' | \n' +
'
\n';
assert.equal(expected, fileHtml);
});
});
});