picked all the lint
Thomas Aylott committed
Nov 15, 2013 at 17:11 UTC
45063aed448c9ec95f05ee39e5aef65f0a89560a
2 files changed
+67
-46
grunt/config/server.js
+28
-17
@@ -4,7 +4,9 @@ module.exports = function(grunt){
4
var coverageWriteStream;
5
6
grunt.task.registerTask('finalize-coverage-stream', function(){
7
- if (!coverageWriteStream) return;
7
+ if (!coverageWriteStream) {
8
+ return;
9
+ }
10
var done = this.async();
11
coverageWriteStream.once('close', done);
12
coverageWriteStream.end();
@@ -12,30 +14,39 @@ module.exports = function(grunt){
14
});
15
16
function consoleLoggerMiddleware(req, res, next) {
15
- if (!(req.method == 'POST'
16
- && req._parsedUrl.pathname.replace(/\//g,'') == 'console'
17
- && Array.isArray(req.body))
18
- ) {
17
+ if (!(req.method == 'POST' && req._parsedUrl.pathname.replace(/\//g,'') == 'console' && Array.isArray(req.body))) {
18
return next();
19
}
20
res.write('<!doctype html><meta charset=utf-8>');
21
res.end('Got it, thanks!');
22
23
req.body.forEach(function(log){
25
- if (log.message.indexOf('not ok ') === 0) log.type = 'error';
26
- else if (log.message.indexOf('ok ') === 0) log.type = 'ok';
27
- else if (log.message.indexOf('COVER') === 0) log.type = 'coverage';
28
- else if (log.message.indexOf('DONE\t') === 0) log.type = 'coverage done';
24
+ if (log.message.indexOf('not ok ') === 0) {
25
+ log.type = 'error';
26
+ } else if (log.message.indexOf('ok ') === 0) {
27
+ log.type = 'ok';
28
+ } else if (log.message.indexOf('COVER') === 0) {
29
+ log.type = 'coverage';
30
+ } else if (log.message.indexOf('DONE\t') === 0) {
31
+ log.type = 'coverage done';
32
+ }
33
30
- if (log.type == 'error') grunt.log.error(log.message);
31
- else if (log.type == 'ok') grunt.log.ok(log.message);
32
- else if (log.type == 'log') grunt.log.writeln(log.message);
33
- else if (log.type == 'coverage') {
34
- if (!coverageWriteStream) coverageWriteStream = require('fs').createWriteStream(__dirname + '/../../coverage.log');
34
+ if (log.type == 'error') {
35
+ grunt.log.error(log.message);
36
+ } else if (log.type == 'ok') {
37
+ grunt.log.ok(log.message);
38
+ } else if (log.type == 'log') {
39
+ grunt.log.writeln(log.message);
40
+ } else if (log.type == 'coverage') {
41
+ if (!coverageWriteStream) {
42
+ coverageWriteStream = require('fs').createWriteStream(__dirname + '/../../coverage.log');
43
+ }
44
coverageWriteStream.write(log.message + '\n');
45
+ } else if (log.type == 'coverage done') {
46
+ grunt.task.run('finalize-coverage-stream');
47
+ } else {
48
+ grunt.verbose.writeln(log);
49
}
37
- else if (log.type == 'coverage done') grunt.task.run('finalize-coverage-stream');
38
- else grunt.verbose.writeln(log);
50
});
51
}
52
@@ -85,7 +96,7 @@ module.exports = function(grunt){
96
connect.static(options.base),
97
connect.directory(options.base)
98
];
88
- },
99
+ }
100
}
101
}
102
};
grunt/tasks/coverage-parse.js
+39
-29
@@ -1,3 +1,4 @@
1
+"use strict";
2
var grunt = require('grunt');
3
4
module.exports = function(){
@@ -5,44 +6,53 @@ module.exports = function(){
6
var done = this.async();
7
var uncoveredExpressionCount = 0;
8
var uncoveredLineCount = 0;
8
-
9
+
10
require('fs').createReadStream(ROOT + '/coverage.log')
11
.pipe(require('coverify/parse')(function(error, results){
11
- if (error) grunt.fatal(error);
12
-
12
+ if (error) {
13
+ grunt.fatal(error);
14
+ }
15
+
16
Object.keys(results)
14
- .sort(function(a, b){
15
- if (results[a].length > results[b].length) return -1;
16
- if (results[a].length < results[b].length) return 1;
17
- return 0;
18
- })
19
- .forEach(function(path){
20
- if (results[path].length === 0) return;
21
- var relativePath = path.replace(ROOT, '');
22
- uncoveredExpressionCount += results[path].length;
23
- grunt.log.error(results[path].length + ' expressions not covered ' + relativePath);
17
+ .sort(function(a, b){
18
+ if (results[a].length > results[b].length) {
19
+ return -1;
20
+ }
21
+ if (results[a].length < results[b].length) {
22
+ return 1;
23
+ }
24
+ return 0;
25
+ })
26
+ .forEach(function(path){
27
+ if (results[path].length === 0) {
28
+ return;
29
+ }
30
+ var relativePath = path.replace(ROOT, '');
31
+ uncoveredExpressionCount += results[path].length;
32
+ grunt.log.error(results[path].length + ' expressions not covered ' + relativePath);
33
25
- results[path].forEach(function(c){
26
- uncoveredLineCount += c.code.split('\n').length;
27
- // console.log(
28
- // 'https://github.com/' + process.env.TRAVIS_REPO_SLUG + '/blob/' + process.env.TRAVIS_BRANCH + relativePath + '#L' + (c.lineNum+1) + '-L' + (c.lineNum+1 + c.code.split('\n').length)
29
- // );
30
- console.log(
31
- 'txmt://open?url=' + encodeURIComponent('file://' + path) + '&line=' + (c.lineNum+1) + '&column=' + (c.column[0]+2)
32
- );
33
- // console.log(c.code.split('\n').map(function(line){return '\t' + line}).join('\n'))
34
- });
35
- console.log('');
36
- });
34
+ results[path].forEach(function(c){
35
+ uncoveredLineCount += c.code.split('\n').length;
36
+ console.log('txmt://open?url=' + encodeURIComponent('file://' + path) + '&line=' + (c.lineNum+1) + '&column=' + (c.column[0]+2));
37
+ });
38
+ console.log('');
39
+ })
40
+ ;
41
42
Object.keys(results).sort().forEach(function(path){
39
- if (results[path].length > 0) return;
43
+ if (results[path].length > 0) {
44
+ return;
45
+ }
46
var relativePath = path.replace(ROOT, '');
47
grunt.log.ok('100% coverage ' + relativePath);
48
});
49
44
- if (uncoveredExpressionCount > 0) grunt.log.error(uncoveredExpressionCount + ' expressions not covered');
45
- if (uncoveredLineCount > 0) grunt.log.error(uncoveredLineCount + ' lines not covered');
50
+ if (uncoveredExpressionCount > 0) {
51
+ grunt.log.error(uncoveredExpressionCount + ' expressions not covered');
52
+ }
53
+ if (uncoveredLineCount > 0) {
54
+ grunt.log.error(uncoveredLineCount + ' lines not covered');
55
+ }
56
done();
57
}));
48
-}
\ No newline at end of file
58
+};