Add more tests to utils
This commit is contained in:
parent
4785c032a5
commit
67ba95e5df
2 changed files with 123 additions and 0 deletions
79
test/printer-utils-tests.js
Normal file
79
test/printer-utils-tests.js
Normal file
|
|
@ -0,0 +1,79 @@
|
|||
var assert = require('assert');
|
||||
|
||||
var PrinterUtils = require('../src/printer-utils.js').PrinterUtils;
|
||||
|
||||
describe('Utils', function() {
|
||||
describe('getHtmlId', function() {
|
||||
it('should generate file unique id', function() {
|
||||
var result = PrinterUtils.getHtmlId({
|
||||
oldName: 'sample.js',
|
||||
newName: 'sample.js'
|
||||
});
|
||||
assert.equal('d2h-960013', result);
|
||||
});
|
||||
});
|
||||
|
||||
describe('getDiffName', function() {
|
||||
it('should generate the file name for a changed file', function() {
|
||||
var result = PrinterUtils.getDiffName({
|
||||
oldName: 'sample.js',
|
||||
newName: 'sample.js'
|
||||
});
|
||||
assert.equal('sample.js', result);
|
||||
});
|
||||
it('should generate the file name for a changed file and renamed', function() {
|
||||
var result = PrinterUtils.getDiffName({
|
||||
oldName: 'sample1.js',
|
||||
newName: 'sample2.js'
|
||||
});
|
||||
assert.equal('sample1.js -> sample2.js', result);
|
||||
});
|
||||
it('should generate the file name for a deleted file', function() {
|
||||
var result = PrinterUtils.getDiffName({
|
||||
oldName: 'src/my/file.js',
|
||||
newName: '/dev/null'
|
||||
});
|
||||
assert.equal('src/my/file.js', result);
|
||||
});
|
||||
it('should generate the file name for a new file', function() {
|
||||
var result = PrinterUtils.getDiffName({
|
||||
oldName: '/dev/null',
|
||||
newName: 'src/my/file.js'
|
||||
});
|
||||
assert.equal('src/my/file.js', result);
|
||||
});
|
||||
});
|
||||
|
||||
describe('diffHighlight', function() {
|
||||
it('should highlight two lines', function() {
|
||||
var result = PrinterUtils.diffHighlight(
|
||||
'var myVar = 2;',
|
||||
'var myVariable = 3;',
|
||||
{matching: 'words'}
|
||||
);
|
||||
|
||||
assert.deepEqual({
|
||||
first: {prefix: 'v', line: 'ar <del>myVar</del> = <del>2</del>;'},
|
||||
second: {
|
||||
prefix: 'v',
|
||||
line: 'ar <ins>myVariable</ins> = <ins>3</ins>;'
|
||||
}
|
||||
}, result);
|
||||
});
|
||||
it('should highlight two lines char by char', function() {
|
||||
var result = PrinterUtils.diffHighlight(
|
||||
'var myVar = 2;',
|
||||
'var myVariable = 3;',
|
||||
{charByChar: true}
|
||||
);
|
||||
|
||||
assert.deepEqual({
|
||||
first: {prefix: 'v', line: 'ar myVar = <del>2</del>;'},
|
||||
second: {
|
||||
prefix: 'v',
|
||||
line: 'ar myVar<ins>iable</ins> = <ins>3</ins>;'
|
||||
}
|
||||
}, result);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
@ -247,4 +247,48 @@ describe('SideBySidePrinter', function() {
|
|||
assert.equal(expected, html);
|
||||
});
|
||||
});
|
||||
|
||||
describe('processLines', function() {
|
||||
it('should process file lines', function() {
|
||||
var oldLines = [{
|
||||
content: '-test',
|
||||
type: 'd2h-del',
|
||||
oldNumber: 1,
|
||||
newNumber: null
|
||||
}];
|
||||
|
||||
var newLines = [{
|
||||
content: '+test1r',
|
||||
type: 'd2h-ins',
|
||||
oldNumber: null,
|
||||
newNumber: 1
|
||||
}];
|
||||
|
||||
var sideBySidePrinter = new SideBySidePrinter({matching: 'lines'});
|
||||
var html = sideBySidePrinter.processLines(oldLines, newLines);
|
||||
var expectedLeft =
|
||||
'<tr>\n' +
|
||||
' <td class="d2h-code-side-linenumber d2h-del">1</td>\n' +
|
||||
' <td class="d2h-del">' +
|
||||
' <div class="d2h-code-side-line d2h-del">' +
|
||||
'<span class="d2h-code-line-prefix">-</span>' +
|
||||
'<span class="d2h-code-line-ctn">test</span></div>' +
|
||||
' </td>\n' +
|
||||
' </tr>\n';
|
||||
|
||||
var expectedRight =
|
||||
'<tr>\n' +
|
||||
' <td class="d2h-code-side-linenumber d2h-ins">1</td>\n' +
|
||||
' <td class="d2h-ins">' +
|
||||
' <div class="d2h-code-side-line d2h-ins">' +
|
||||
'<span class="d2h-code-line-prefix">+</span>' +
|
||||
'<span class="d2h-code-line-ctn">test1r</span>' +
|
||||
'</div>' +
|
||||
' </td>\n' +
|
||||
' </tr>\n';
|
||||
|
||||
assert.equal(expectedLeft, html.left);
|
||||
assert.equal(expectedRight, html.right);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
|||
Loading…
Reference in a new issue