javascript/cucumber-blanket.js in cucumber-blanket-0.1.0 vs javascript/cucumber-blanket.js in cucumber-blanket-0.2.0

- old
+ new

@@ -5,26 +5,42 @@ * immediately. The other side of this is handled from Cucumber * * Required blanket commands: * blanket.setupCoverage(); // Do it ASAP * blanket.onTestStart(); // Do it ASAP - * blanket.onTestDone(); // After Scenario Hook + * blanket.onTestDone(); // After Scenario Hook (Not necessary) * blanket.onTestsDone(); // After Scenario Hook */ blanket.beforeStartTestRunner({ callback: function() { blanket.setupCoverage(); blanket.onTestStart(); + window.CUCUMBER_BLANKET = { + files: {}, + sources: {}, + done: false, + is_setup: true + }; } }); /* REPORTER * * Blanket.js docs speak of blanket.customReporter but * that doesn't actually work so we'll override defaultReporter */ blanket.defaultReporter = function(coverage_results){ - window.COVERAGE_RESULTS = coverage_results; // We'll grab this on selenium side + window.CUCUMBER_BLANKET.files = coverage_results.files; + // Strangely enough it looks like we need to iterate in order to grab the `source` + // data which is necessary to know which lines of code are being reported on. + var files = Object.keys(coverage_results.files); + for (var i = 0, l = files.length; i < l; i ++) { + var file = files[i]; + window.CUCUMBER_BLANKET.sources[file] = window.CUCUMBER_BLANKET.files[file].source; + } + window.CUCUMBER_BLANKET.done = true; + // Now we can grab all this on the selenium side through window.CUCUMBER_BLANKET }; })(); +