-
Notifications
You must be signed in to change notification settings - Fork 7
/
lint-reporter-test.js
38 lines (32 loc) · 1.07 KB
/
lint-reporter-test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
var buster = require('buster');
var EventEmitter = require('events').EventEmitter;
var print = require('../lib/print');
var checkedFile = require('../lib/checked-file');
var lintReporter = require('../lib/lint-reporter');
buster.testCase("lintReporter", {
setUp: function () {
this.repository = new EventEmitter();
this.reporter = lintReporter.create(this.repository);
this.reporter.listen();
this.stub(print, 'red');
this.stub(print, 'black');
},
"should be an object": function () {
assert.isObject(lintReporter);
},
"should print filename with number of errors": function () {
var file = checkedFile.create('file1.js', [{}, {}]);
this.repository.emit('dirty', file);
assert.called(print.red);
assert.calledWith(print.red, '', 'Lint in file1.js, 2 errors:');
},
"should print error": function () {
var file = checkedFile.create('file1.js', [{
line: 17,
character: 9,
reason: 'Bazinga!'
}]);
this.repository.emit('dirty', file);
assert.calledWith(print.black, ' line 17 char 9: Bazinga!');
}
});