var assert = require('assert'); var fileListPrinter = new (require('../src/file-list-printer.js').FileListPrinter)(); describe('FileListPrinter', function() { describe('generateFileList', function() { it('should work for all kinds of files', function() { var files = [{ addedLines: 12, deletedLines: 41, language: 'js', oldName: 'my/file/name.js', newName: 'my/file/name.js' }, { addedLines: 12, deletedLines: 41, language: 'js', oldName: 'my/file/name1.js', newName: 'my/file/name2.js' }, { addedLines: 12, deletedLines: 0, language: 'js', oldName: 'dev/null', newName: 'my/file/name.js', isNew: true }, { addedLines: 0, deletedLines: 41, language: 'js', oldName: 'my/file/name.js', newName: 'dev/null', isDeleted: true }]; var fileHtml = fileListPrinter.generateFileList(files); var expected = '
\n' + '
\n' + ' Files changed (4)\n' + ' hide\n' + ' show\n' + '
\n' + '
    \n' + '
  1. \n' + ' \n' + ' \n' + ' my/file/name.js\n' + ' \n' + ' +12\n' + ' -41\n' + ' \n' + ' \n' + '
  2. \n' + '
  3. \n' + ' \n' + ' \n' + ' my/file/{name1.js → name2.js}\n' + ' \n' + ' +12\n' + ' -41\n' + ' \n' + ' \n' + '
  4. \n' + '
  5. \n' + ' \n' + ' \n' + ' my/file/name.js\n' + ' \n' + ' +12\n' + ' -0\n' + ' \n' + ' \n' + '
  6. \n' + '
  7. \n' + ' \n' + ' \n' + ' my/file/name.js\n' + ' \n' + ' +0\n' + ' -41\n' + ' \n' + ' \n' + '
  8. \n' + '
\n' + '
'; assert.equal(expected, fileHtml); }); }); });