karma-multibrowser-reporter
Advanced tools
Comparing version 1.0.1 to 1.1.0
{ | ||
"name": "karma-multibrowser-reporter", | ||
"version": "1.0.1", | ||
"version": "1.1.0", | ||
"description": "A verbose Karma reporter for multi-browser runs.", | ||
"main": "reporter.js", | ||
"scripts": { | ||
"lint": "eslint reporter.js" | ||
}, | ||
@@ -8,0 +9,0 @@ "repository": { |
@@ -10,10 +10,6 @@ Karma Multi-Browser Summary Reporter | ||
To install, add this line to your `package.json` file: | ||
To install, simply run `npm install karma-multibrowser-reporter` | ||
``` | ||
"karma-multibrowser-reporter": "git+ssh://git@github.com:Noirbot/karma-multibrowser-reporter.git" | ||
``` | ||
To add it to Karma, you'll need to set it as a reporter in your `karma.conf.js`. | ||
Then run `npm install`. To add it to Karma, you'll need to set it as a reporter in your `karma.conf.js`. | ||
```javascript | ||
@@ -20,0 +16,0 @@ reporters: [ |
111
reporter.js
var chalk = require('chalk'); | ||
var failureFmt = chalk.red; | ||
@@ -66,2 +67,7 @@ var successFmt = chalk.green; | ||
var results; | ||
var i; | ||
var j; | ||
var suiteStr; | ||
var testReport; | ||
var result; | ||
var suites; | ||
@@ -78,31 +84,33 @@ var line; | ||
if (results) { | ||
for (var i in results) { | ||
var result = tests.result[results[i]]; | ||
if (config.verboseReporter.output === 'only-failure' && result !== 'failure') continue; | ||
for (i in results) { | ||
if ({}.hasOwnProperty.call(results, i)) { | ||
result = tests.result[results[i]]; | ||
if (config.verboseReporter.output === 'only-failure' && result !== 'failure') continue; | ||
line = result; | ||
line = result; | ||
if (config.verboseReporter.color === 'full') { | ||
line = [indent, '*', results[i], ':', result, '\n'].join(' '); | ||
} | ||
if (config.verboseReporter.color === 'full') { | ||
line = [indent, '*', results[i], ':', result, '\n'].join(' '); | ||
} | ||
switch (result) { | ||
case 'success': | ||
line = successFmt(line); | ||
break; | ||
case 'failure': | ||
line = failureFmt(line); | ||
break; | ||
case 'skipped': | ||
line = skipFmt(line); | ||
break; | ||
default: | ||
break; | ||
} | ||
switch (result) { | ||
case 'success': | ||
line = successFmt(line); | ||
break; | ||
case 'failure': | ||
line = failureFmt(line); | ||
break; | ||
case 'skipped': | ||
line = skipFmt(line); | ||
break; | ||
default: | ||
break; | ||
} | ||
if (config.verboseReporter.color !== 'full') { | ||
line = [indent, '*', results[i], ':', line, '\n'].join(' '); | ||
if (config.verboseReporter.color !== 'full') { | ||
line = [indent, '*', results[i], ':', line, '\n'].join(' '); | ||
} | ||
output += line; | ||
} | ||
output += line; | ||
} | ||
@@ -112,9 +120,11 @@ } | ||
if (suites) { | ||
for (var j in suites) { | ||
var suiteStr = [indent, '-', chalk.bold(suites[j]), ':', '\n'].join(' '); | ||
var testReport = generateTestResultOutput(tests.suites[suites[j]], ' ' + indent); | ||
for (j in suites) { | ||
if ({}.hasOwnProperty.call(suites, j)) { | ||
suiteStr = [indent, '-', chalk.bold(suites[j]), ':', '\n'].join(' '); | ||
testReport = generateTestResultOutput(tests.suites[suites[j]], ' ' + indent); | ||
if (testReport) { | ||
suiteStr += testReport; | ||
output += suiteStr; | ||
if (testReport) { | ||
suiteStr += testReport; | ||
output += suiteStr; | ||
} | ||
} | ||
@@ -135,2 +145,4 @@ } | ||
var output; | ||
var i; | ||
var j; | ||
@@ -142,9 +154,11 @@ if (_tests.length === 0) { | ||
for (var i in _tests) { | ||
browser = _tests[i]; | ||
for (i in _tests) { | ||
if ({}.hasOwnProperty.call(_tests, i)) { | ||
browser = _tests[i]; | ||
output = generateTestResultOutput(browser); | ||
output = generateTestResultOutput(browser); | ||
if (output) { | ||
suiteOutput += emphasisFmt('\n' + browser.name + '\n') + output; | ||
if (output) { | ||
suiteOutput += emphasisFmt('\n' + browser.name + '\n') + output; | ||
} | ||
} | ||
@@ -165,6 +179,9 @@ } | ||
for (var j in _tests) { | ||
browser = _tests[j]; | ||
process.stdout.write(' - ' + chalk.bold(browser.name) + ': ' + browser.total + ' tests\n'); | ||
process.stdout.write(' - ' + generateSummaryOutput(browser) + '\n'); | ||
for (j in _tests) { | ||
if ({}.hasOwnProperty.call(_tests, j)) { | ||
browser = _tests[j]; | ||
process.stdout.write(' - ' + chalk.bold(browser.name) + ': ' | ||
+ browser.total + ' tests\n'); | ||
process.stdout.write(' - ' + generateSummaryOutput(browser) + '\n'); | ||
} | ||
} | ||
@@ -183,10 +200,14 @@ } | ||
var tests = b; | ||
var i; | ||
var suiteName; | ||
for (var i in result.suite) { | ||
var suiteName = result.suite[i]; | ||
suite += (', ' + suiteName); | ||
for (i in result.suite) { | ||
if ({}.hasOwnProperty.call(result.suite, i)) { | ||
suiteName = result.suite[i]; | ||
suite += (', ' + suiteName); | ||
if (! tests.suites) tests.suites = {}; | ||
if (! tests.suites[suiteName]) tests.suites[suiteName] = {}; | ||
tests = tests.suites[suiteName]; | ||
if (! tests.suites) tests.suites = {}; | ||
if (! tests.suites[suiteName]) tests.suites[suiteName] = {}; | ||
tests = tests.suites[suiteName]; | ||
} | ||
} | ||
@@ -193,0 +214,0 @@ |
9037
202
34