Skip to content

Instantly share code, notes, and snippets.

@naganowl
Last active August 29, 2015 14:07
Show Gist options
  • Save naganowl/7b0ca4d282382f31bdae to your computer and use it in GitHub Desktop.
Save naganowl/7b0ca4d282382f31bdae to your computer and use it in GitHub Desktop.
Adding LCOV generation to `grunt-mocha-blanket` to enhance `chaplin-mocha-grunt`
if window.PHANTOMJS or window.location.search.indexOf('cov=true') >= 0
# Synchronously get Blanket.
request = new XMLHttpRequest()
request.open 'GET', '../vendor/bower/blanket/dist/qunit/blanket.js', no
request.send()
script = document.createElement 'script'
script.type = 'text/javascript'
# There is no event fired when HTML report is added to tests.
script.text = request.responseText +
# Add checkbox to toggle uncovered branches/lines.
"""
(function() {
var report = blanket.report;
blanket.report = function() {
report.apply(blanket, arguments);
$("#blanket-main .rs:contains('100 %')")
.parent(":not('.grand-total')").hide();
$(".bl-success:not(.grand-total) > .rs:nth-child(4)").each(function() {
var statements = this.innerHTML.split('/');
if (statements[1] != 0 && statements[0]/statements[1] !== 1) {
$(this.parentNode).show();
}
});
}
})();
"""
script.setAttribute(
'data-cover-adapter'
'../node_modules/grunt-blanket-mocha/support/mocha-blanket.js'
)
script.setAttribute 'data-cover-flags', 'branchTracking'
script.setAttribute 'data-cover-never', '[\'templates\']'
script.setAttribute(
'data-cover-only'
'//src/(controllers|ext|lib|models|views)/'
)
script.setAttribute(
'data-cover-reporter'
'../vendor/bower/blanket/src/reporters/lcov_reporter.js'
)
script.setAttribute(
'data-cover-reporter-options'
'{ "toHTML": false}'
)
(document.body || document.head).appendChild script
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment