diff --git a/circle.yml b/circle.yml new file mode 100644 index 0000000..100709f --- /dev/null +++ b/circle.yml @@ -0,0 +1,9 @@ +test: + override: + - nvm install 0.12 && npm test + - nvm install 4 && npm test + post: + - npm install + - istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec + - cat ./coverage/lcov.info | ./node_modules/.bin/codacy-coverage + - rm -rf ./coverage diff --git a/package.json b/package.json index 256a2a4..1971ef2 100644 --- a/package.json +++ b/package.json @@ -36,17 +36,21 @@ }, "preferGlobal": "true", "scripts": { - "release": "bash release.sh" + "release": "bash release.sh", + "test": "mocha", + "codacy": "istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- -R spec && cat ./coverage/lcov.info | ./node_modules/.bin/codacy-coverage && rm -rf ./coverage" }, "main": "./src/diff2html.js", "dependencies": { "diff": "2.2.*" }, "devDependencies": { - "webpack": "1.12.*", - "uglifyjs": "2.4.*", + "codacy-coverage": "^1.1.3", + "istanbul": "^0.4.1", "less": "2.5.*", - "nodeunit": "^0.9.1" + "mocha": "^2.3.4", + "uglifyjs": "2.4.*", + "webpack": "1.12.*" }, "license": "MIT", "files": [ diff --git a/test/line-by-line-tests.js b/test/line-by-line-tests.js new file mode 100644 index 0000000..9331fd8 --- /dev/null +++ b/test/line-by-line-tests.js @@ -0,0 +1,22 @@ +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); + }); + }); +}); diff --git a/test/side-by-side-printer-tests.js b/test/side-by-side-printer-tests.js new file mode 100644 index 0000000..b11d4ae --- /dev/null +++ b/test/side-by-side-printer-tests.js @@ -0,0 +1,24 @@ +var assert = require('assert'); + +var SideBySidePrinter = require('../src/side-by-side-printer.js').SideBySidePrinter; + +describe('SideBySidePrinter', function() { + describe('generateEmptyDiff', function() { + it('should return an empty diff', function() { + + var sideBySidePrinter = new SideBySidePrinter({}); + var fileHtml = sideBySidePrinter.generateEmptyDiff(); + var expectedRight = ''; + var expectedLeft = '\n' + + ' ' + + '
' + + 'File without changes' + + '
' + + ' \n' + + '\n'; + + assert.equal(expectedRight, fileHtml.right); + assert.equal(expectedLeft, fileHtml.left); + }); + }); +}); diff --git a/tests/line-by-line-tests.js b/tests/line-by-line-tests.js deleted file mode 100644 index cfc64ea..0000000 --- a/tests/line-by-line-tests.js +++ /dev/null @@ -1,18 +0,0 @@ -var LineByLinePrinter = require('../src/line-by-line-printer.js').LineByLinePrinter; - -module.exports = { - testGenerateEmptyDiff: function (test) { - var lineByLinePrinter = new LineByLinePrinter({}); - var fileHtml = lineByLinePrinter._generateEmptyDiff(); - var expected = '\n' + - ' ' + - '
' + - 'File without changes' + - '
' + - ' \n' + - '\n'; - - test.equal(expected, fileHtml); - test.done(); - } -}; diff --git a/tests/side-by-side-printer-tests.js b/tests/side-by-side-printer-tests.js deleted file mode 100644 index 506f8e4..0000000 --- a/tests/side-by-side-printer-tests.js +++ /dev/null @@ -1,19 +0,0 @@ -var SideBySidePrinter = require('../src/side-by-side-printer.js').SideBySidePrinter; - -module.exports = { - testGenerateEmptyDiff: function (test) { - var sideBySidePrinter = new SideBySidePrinter({}); - var fileHtml = sideBySidePrinter.generateEmptyDiff(); - var expectedRight = ''; - var expectedLeft = '\n' + - ' ' + - '
' + - 'File without changes' + - '
' + - ' \n' + - '\n'; - test.equal(expectedRight, fileHtml.right); - test.equal(expectedLeft, fileHtml.left); - test.done(); - } -};