Skip to content

Commit 9f2e0d1

Browse files
authored
Merge pull request #2 from FullstackAcademy/tooling
basic tests to verify eslintrc is parsed
2 parents 09d72fe + ea5e43e commit 9f2e0d1

File tree

4 files changed

+44
-3
lines changed

4 files changed

+44
-3
lines changed

eslintrc.yml renamed to .eslintrc.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# See http://eslint.org/docs/developer-guide/shareable-configs
44
# Authored by Gabriel Lebec, 2016
55

6-
# ESLint version ~2.11.1
6+
# ESLint version ~2.13.1
77

88
extends: eslint:recommended # overridden below unless new recommended rules are added before this doc is updated
99

index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
var YAML = require('yamljs');
33
var path = require('path');
44

5-
module.exports = YAML.load(path.join(__dirname, 'eslintrc.yml'));
5+
module.exports = YAML.load(path.join(__dirname, '.eslintrc.yml'));

package.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"description": "a complete starter ESLint config file to help students avoid errors and learn best practices",
55
"main": "index.js",
66
"scripts": {
7-
"test": "echo \"Error: no test specified\" && exit 1"
7+
"test": "mocha"
88
},
99
"repository": {
1010
"type": "git",
@@ -33,5 +33,10 @@
3333
"homepage": "https://github.com/FullstackAcademy/eslint-config-fullstack#readme",
3434
"dependencies": {
3535
"yamljs": "~0.2.7"
36+
},
37+
"devDependencies": {
38+
"chai": "^3.5.0",
39+
"eslint": "~2.13.1",
40+
"mocha": "^2.5.3"
3641
}
3742
}

test/test.js

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
/* eslint-disable global-require, no-unused-expressions */
2+
var linter = require('eslint').linter;
3+
var expect = require('chai').expect;
4+
5+
describe('eslint-config-fullstack', function () {
6+
7+
var eConfigFs;
8+
before('load the module', function () {
9+
eConfigFs = require('../index.js');
10+
});
11+
12+
it('exports an object', function () {
13+
expect(eConfigFs).to.be.an('object');
14+
});
15+
16+
it('extends the recommended ESLint config', function () {
17+
expect(eConfigFs.extends).to.equal('eslint:recommended');
18+
});
19+
20+
it('has a `rules` property', function () {
21+
expect(eConfigFs).to.include.keys('rules');
22+
});
23+
24+
it('works with eslint', function () {
25+
var messsages = linter.verify('var x = 1;', eConfigFs);
26+
expect(messsages).to.be.an('array');
27+
if (messsages[0]) expect(messsages[0].fatal).not.to.be.true;
28+
});
29+
30+
it('has a parsing error for invalid source', function () {
31+
var messsages = linter.verify('if;', eConfigFs);
32+
expect(messsages).to.be.an('array');
33+
expect(messsages[0].fatal).to.be.true;
34+
});
35+
36+
});

0 commit comments

Comments
 (0)