diff --git a/.coveralls.yml b/.coveralls.yml new file mode 100644 index 0000000..c16bacd --- /dev/null +++ b/.coveralls.yml @@ -0,0 +1 @@ +repo_token: m1BEx78tPMAxcADSCK5vtqLfzdj5oU82P diff --git a/.npmignore b/.npmignore index daf8a45..c6b61a5 100644 --- a/.npmignore +++ b/.npmignore @@ -1,3 +1,5 @@ + +.coveralls.yml .editorconfig .github .gitignore diff --git a/bower.json b/bower.json index 0759f0e..eca63a3 100644 --- a/bower.json +++ b/bower.json @@ -28,6 +28,7 @@ "stylus" ], "ignore": [ + ".coveralls.yml", ".editorconfig", ".github", ".gitignore", diff --git a/component.json b/component.json index f99a4d2..287d91a 100644 --- a/component.json +++ b/component.json @@ -28,6 +28,7 @@ "stylus" ], "ignore": [ + ".coveralls.yml", ".editorconfig", ".github", ".gitignore", diff --git a/composer.json b/composer.json index b07c04f..0c7a10a 100644 --- a/composer.json +++ b/composer.json @@ -28,6 +28,7 @@ "stylus" ], "ignore": [ + ".coveralls.yml", ".editorconfig", ".github", ".gitignore", diff --git a/package.json b/package.json index 315f7fd..c48d2d6 100644 --- a/package.json +++ b/package.json @@ -28,6 +28,7 @@ "stylus" ], "ignore": [ + ".coveralls.yml", ".editorconfig", ".github", ".gitignore", @@ -51,10 +52,15 @@ "autoprefixer": "^6.5.3", "backstopjs": "^2.3.3", "browser-sync": "^2.18.1", + "coveralls": "^2.11.15", + "intelli-espower-loader": "^1.0.1", + "istanbul": "^0.4.5", + "mocha": "^3.1.2", "node-sass": "^3.13.0", "npm-run-all": "^2.3.0", "onchange": "^2.5.0", "postcss-cli": "^2.6.0", + "power-assert": "^1.4.2", "sass-lint": "^1.10.2" }, "engines": { @@ -72,6 +78,7 @@ "serve": "browser-sync start --no-notify -s test --ss dist -f dist", "start": "run-p watch serve", "test": "run-s build", + "coverage": "istanbul cover ./node_modules/mocha/bin/_mocha --report lcovonly -- --require intelli-espower-loader test/unit/*.js", "reference": "backstop reference --configPath=backstop.conf.js", "compare": "backstop test --configPath=backstop.conf.js", "backstop": "run-s build && run-p serve compare" diff --git a/test/unit/package-spec.js b/test/unit/package-spec.js new file mode 100644 index 0000000..b98467d --- /dev/null +++ b/test/unit/package-spec.js @@ -0,0 +1,137 @@ +const fs = require('fs'); +const assert = require('power-assert'); +const npm = require('../../package.json'); +const bower = require('../../bower.json'); +const component = require('../../component.json'); +const composer = require('../../composer.json'); + +const packages = [ + npm, + bower, + component, + composer +]; + +describe('Package', () => { + + describe('Name', () => { + + it(`should be equal to ${npm.name}`, () => { + packages.map((referenceValue, referenceIndex) => { + packages.map((compareValue, compareIndex) => { + if (referenceIndex !== compareIndex) assert(referenceValue.name, compareValue.name); + }); + }); + }); + + }); + + describe('Version', () => { + + it(`should be equal to v${npm.version}`, () => { + packages.map((referenceValue, referenceIndex) => { + packages.map((compareValue, compareIndex) => { + if (referenceIndex !== compareIndex) assert(referenceValue.version, compareValue.version); + }); + }); + }); + + }); + + describe('Description', () => { + + it(`should be equal to ${npm.description}`, () => { + packages.map((referenceValue, referenceIndex) => { + packages.map((compareValue, compareIndex) => { + if (referenceIndex !== compareIndex) assert(referenceValue.description, compareValue.description); + }); + }); + }); + + }); + + describe('Homepage', () => { + + it(`should be equal to ${npm.homepage}`, () => { + packages.map((referenceValue, referenceIndex) => { + packages.map((compareValue, compareIndex) => { + if (referenceIndex !== compareIndex) assert(referenceValue.homepage, compareValue.homepage); + }); + }); + }); + + }); + + describe('Repository', () => { + + it(`should be equal to ${npm.repository}`, () => { + packages.map((referenceValue, referenceIndex) => { + packages.map((compareValue, compareIndex) => { + if (referenceIndex !== compareIndex) assert(referenceValue.repository, compareValue.repository); + }); + }); + }); + + }); + + describe('License', () => { + + it(`should be equal to ${npm.license}`, () => { + packages.map((referenceValue, referenceIndex) => { + packages.map((compareValue, compareIndex) => { + if (referenceIndex !== compareIndex) assert(referenceValue.license, compareValue.license); + }); + }); + }); + + }); + + describe('Author Name', () => { + + it(`should be equal to ${npm.author}`, () => { + packages.map((referenceValue, referenceIndex) => { + packages.map((compareValue, compareIndex) => { + if (referenceIndex !== compareIndex) assert(referenceValue.author, compareValue.author); + }); + }); + }); + + }); + + describe('Main File', () => { + + it(`should be equal to ${npm.main}`, () => { + packages.map((referenceValue, referenceIndex) => { + packages.map((compareValue, compareIndex) => { + if (referenceIndex !== compareIndex) assert(referenceValue.main, compareValue.main); + }); + }); + }); + + }); + + describe('Ignore', () => { + + it(`should be equal`, () => { + packages.map((referenceValue, referenceIndex) => { + packages.map((compareValue, compareIndex) => { + if (referenceIndex !== compareIndex) assert(referenceValue.ignore, compareValue.ignore); + }); + }); + }); + + }); + + describe('Keywords', () => { + + it(`should be equal`, () => { + packages.map((referenceValue, referenceIndex) => { + packages.map((compareValue, compareIndex) => { + if (referenceIndex !== compareIndex) assert(referenceValue.keywords, compareValue.keywords); + }); + }); + }); + + }); + +});