gemini-coverage
Advanced tools
Comparing version 0.2.0 to 0.2.2
@@ -8,3 +8,5 @@ 'use strict'; | ||
ccss = require('clean-css'), | ||
css = require('fs').readFileSync(PATH.resolve(__dirname, 'html-reporter/style.css')), | ||
FS = require('fs'), | ||
PATH = require('path'), | ||
css = FS.readFileSync(PATH.resolve(__dirname, 'html-reporter/style.css')), | ||
@@ -15,9 +17,33 @@ BaseReporter = require('./base-reporter'); | ||
print: function(diff) { | ||
print: function(diff, path) { | ||
var files = []; | ||
try { | ||
files = FS.readdirSync(PATH.join(path, 'gemini-coverage')); | ||
} catch(e) {} | ||
diff.covered.forEach(function(block) { | ||
var coverage = __findCoverage(block); | ||
if(coverage) { | ||
block.coverage = PATH.join(path, coverage); | ||
} | ||
}); | ||
function __findCoverage(block) { | ||
var coverage = null; | ||
files.some(function(file) { | ||
if(file.indexOf(block.block) !== -1 && PATH.extname(file) === '.html') { | ||
coverage = file; | ||
return true; | ||
} | ||
}); | ||
return coverage; | ||
} | ||
diff.covered.sort(function(a, b) { | ||
return b.screens - a.screens; | ||
return a.screens - b.screens; | ||
}); | ||
var html = jade.renderFile(PATH.resolve(__dirname, 'html-reporter/template.jade'), { | ||
data:diff, | ||
data: diff, | ||
css: ccss().minify(css) | ||
@@ -29,3 +55,3 @@ }), | ||
mkdirp.sync(resultPath); | ||
require('fs').writeFileSync(resultFilePath, html); | ||
FS.writeFileSync(resultFilePath, html); | ||
@@ -32,0 +58,0 @@ console.log(resultFilePath); |
@@ -155,5 +155,5 @@ 'use strict'; | ||
.then(function(coverage) { | ||
reporter.print(coverage); | ||
reporter.print(coverage, this._workDirectory); | ||
return coverage; | ||
}); | ||
}.bind(this)); | ||
} | ||
@@ -160,0 +160,0 @@ |
{ | ||
"author": "Tikvach Alexander <unlok@yandex-team.ru>", | ||
"name": "gemini-coverage", | ||
"version": "0.2.0", | ||
"version": "0.2.2", | ||
"repository": { | ||
@@ -6,0 +6,0 @@ "type": "git", |
Sorry, the diff of this file is not supported yet
602
3
23819
22