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); }); }); });