Sha256: 037bd69ccd044d0baffb196e54a4c70f816fec1e7de71d2ff94108efbe11d01e

Contents?: true

Size: 1.12 KB

Versions: 38

Compression:

Stored size: 1.12 KB

Contents

/**
 * Module dependencies.
 */

var Base = require('./base')
  , cursor = Base.cursor
  , color = Base.color;

/**
 * Expose `JSON`.
 */

exports = module.exports = JSONReporter;

/**
 * Initialize a new `JSON` reporter.
 *
 * @param {Runner} runner
 * @api public
 */

function JSONReporter(runner) {
  var self = this;
  Base.call(this, runner);

  var tests = []
    , failures = []
    , passes = [];

  runner.on('test end', function(test){
    tests.push(test);
  });

  runner.on('pass', function(test){
    passes.push(test);
  });

  runner.on('fail', function(test){
    failures.push(test);
  });

  runner.on('end', function(){
    var obj = {
        stats: self.stats
      , tests: tests.map(clean)
      , failures: failures.map(clean)
      , passes: passes.map(clean)
    };

    process.stdout.write(JSON.stringify(obj, null, 2));
  });
}

/**
 * Return a plain-object representation of `test`
 * free of cyclic properties etc.
 *
 * @param {Object} test
 * @return {Object}
 * @api private
 */

function clean(test) {
  return {
      title: test.title
    , fullTitle: test.fullTitle()
    , duration: test.duration
  }
}

Version data entries

38 entries across 38 versions & 1 rubygems

Version Path
stylus-source-0.42.2 vendor/node_modules/mocha/lib/reporters/json.js
stylus-source-0.42.1 vendor/node_modules/mocha/lib/reporters/json.js
stylus-source-0.42.0 vendor/node_modules/mocha/lib/reporters/json.js
stylus-source-0.41.3 vendor/node_modules/mocha/lib/reporters/json.js
stylus-source-0.41.2 vendor/node_modules/mocha/lib/reporters/json.js
stylus-source-0.41.1 vendor/node_modules/mocha/lib/reporters/json.js
stylus-source-0.41.0 vendor/node_modules/mocha/lib/reporters/json.js
stylus-source-0.40.3 vendor/node_modules/mocha/lib/reporters/json.js
stylus-source-0.40.2 vendor/node_modules/mocha/lib/reporters/json.js
stylus-source-0.40.1 vendor/node_modules/mocha/lib/reporters/json.js
stylus-source-0.40.0 vendor/node_modules/mocha/lib/reporters/json.js
stylus-source-0.39.4 vendor/node_modules/mocha/lib/reporters/json.js
stylus-source-0.39.3 vendor/node_modules/mocha/lib/reporters/json.js
stylus-source-0.39.2 vendor/node_modules/mocha/lib/reporters/json.js
stylus-source-0.39.1 vendor/node_modules/mocha/lib/reporters/json.js
stylus-source-0.39.0 vendor/node_modules/mocha/lib/reporters/json.js
stylus-source-0.38.0 vendor/node_modules/mocha/lib/reporters/json.js
stylus-source-0.37.0 vendor/node_modules/mocha/lib/reporters/json.js
stylus-source-0.36.1 vendor/node_modules/mocha/lib/reporters/json.js
stylus-source-0.36.0 vendor/node_modules/mocha/lib/reporters/json.js