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