|
@@ -1,78 +0,0 @@
|
|
|
-// grunt-reporter.js
|
|
|
-//
|
|
|
-// A communication bridge between blanket.js and the grunt-blanket-qunit plugin
|
|
|
-// Distributed as part of the grunt-blanket-qunit library
|
|
|
-//
|
|
|
-// Copyright (C) 2013 Model N, Inc.
|
|
|
-// Distributed under the MIT License
|
|
|
-//
|
|
|
-// Documentation and full license available at:
|
|
|
-// https://github.com/ModelN/grunt-blanket-qunit
|
|
|
-//
|
|
|
-(function (){
|
|
|
- "use strict";
|
|
|
-
|
|
|
- // this is an ugly hack, but it's the official way of communicating between
|
|
|
- // the parent phantomjs and the inner grunt-contrib-qunit library...
|
|
|
- var sendMessage = function sendMessage() {
|
|
|
- var args = [].slice.call(arguments);
|
|
|
- alert(JSON.stringify(args));
|
|
|
- };
|
|
|
-
|
|
|
- // helper function for computing coverage info for a particular file
|
|
|
- var reportFile = function( data ) {
|
|
|
- var ret = {
|
|
|
- coverage: 0,
|
|
|
- hits: 0,
|
|
|
- misses: 0,
|
|
|
- sloc: 0
|
|
|
- };
|
|
|
- for (var i = 0; i < data.source.length; i++) {
|
|
|
- var line = data.source[i];
|
|
|
- var num = i + 1;
|
|
|
- if (data[num] === 0) {
|
|
|
- ret.misses++;
|
|
|
- ret.sloc++;
|
|
|
- } else if (data[num] !== undefined) {
|
|
|
- ret.hits++;
|
|
|
- ret.sloc++;
|
|
|
- }
|
|
|
- }
|
|
|
- ret.coverage = ret.hits / ret.sloc * 100;
|
|
|
-
|
|
|
- return [ret.hits,ret.sloc];
|
|
|
-
|
|
|
- };
|
|
|
-
|
|
|
- // this function is invoked by blanket.js when the coverage data is ready. it will
|
|
|
- // compute per-file coverage info, and send a message to the parent phantomjs process
|
|
|
- // for each file, which the grunt task will use to report passes & failures.
|
|
|
- var reporter = function(cov){
|
|
|
- cov = window._$blanket;
|
|
|
-
|
|
|
- var sortedFileNames = [];
|
|
|
-
|
|
|
- var totals =[];
|
|
|
-
|
|
|
- for (var filename in cov) {
|
|
|
- if (cov.hasOwnProperty(filename)) {
|
|
|
- sortedFileNames.push(filename);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- sortedFileNames.sort();
|
|
|
-
|
|
|
- for (var i = 0; i < sortedFileNames.length; i++) {
|
|
|
- var thisFile = sortedFileNames[i];
|
|
|
- var data = cov[thisFile];
|
|
|
- var thisTotal= reportFile( data );
|
|
|
- sendMessage("blanket:fileDone", thisTotal, thisFile);
|
|
|
- }
|
|
|
-
|
|
|
- sendMessage("blanket:done");
|
|
|
-
|
|
|
- };
|
|
|
-
|
|
|
- blanket.customReporter = reporter;
|
|
|
-
|
|
|
-})();
|