diff --git a/spec/helpers/load-jsreporter.js b/spec/helpers/load-jsreporter.js new file mode 100644 index 000000000..20430fb89 --- /dev/null +++ b/spec/helpers/load-jsreporter.js @@ -0,0 +1,37 @@ +// reporter for saucelabs +jasmine.getEnv().addReporter(new jasmine.JSReporter2()); + +(function () { + var oldJSReport = window.jasmine.getJSReport; + window.jasmine.getJSReport = function () { + var results = oldJSReport(); + if (results) { + return { + durationSec: results.durationSec, + suites: removePassingTests(results.suites), + passed: results.passed + }; + } else { + return null; + } + }; + + function removePassingTests (suites) { + return suites.filter(specFailed) + .map(mapSuite); + } + + function mapSuite (suite) { + var result = {}; + for (var s in suite) { + result[s] = suite[s]; + } + result.specs = suite.specs.filter(specFailed); + result.suites = removePassingTests(suite.suites); + return result; + } + + function specFailed (item) { + return !item.passed; + } +})(); diff --git a/spec/helpers/spec-helper.js b/spec/helpers/spec-helper.js index 1ddbcbbe8..51a0b8fbf 100644 --- a/spec/helpers/spec-helper.js +++ b/spec/helpers/spec-helper.js @@ -1,6 +1,4 @@ /* global parseTranslate */ -// reporter for saucelabs -jasmine.getEnv().addReporter(new jasmine.JSReporter2()); beforeEach(function () { d3.select('body').append('div').attr('id', 'test-content'); jasmine.clock().install();