%PDF- %PDF-
 Mini Shell
 Mini Shell  
 | Direktori : /home/opti/workflow/node_modules/mocha/lib/reporters/ | 
| Current File : /home/opti/workflow/node_modules/mocha/lib/reporters/doc.js | 
'use strict';
/**
 * @module Doc
 */
/**
 * Module dependencies.
 */
var Base = require('./base');
var utils = require('../utils');
/**
 * Expose `Doc`.
 */
exports = module.exports = Doc;
/**
 * Initialize a new `Doc` reporter.
 *
 * @class
 * @memberof Mocha.reporters
 * @extends {Base}
 * @public
 * @param {Runner} runner
 * @api public
 */
function Doc(runner) {
  Base.call(this, runner);
  var indents = 2;
  function indent() {
    return Array(indents).join('  ');
  }
  runner.on('suite', function(suite) {
    if (suite.root) {
      return;
    }
    ++indents;
    console.log('%s<section class="suite">', indent());
    ++indents;
    console.log('%s<h1>%s</h1>', indent(), utils.escape(suite.title));
    console.log('%s<dl>', indent());
  });
  runner.on('suite end', function(suite) {
    if (suite.root) {
      return;
    }
    console.log('%s</dl>', indent());
    --indents;
    console.log('%s</section>', indent());
    --indents;
  });
  runner.on('pass', function(test) {
    console.log('%s  <dt>%s</dt>', indent(), utils.escape(test.title));
    var code = utils.escape(utils.clean(test.body));
    console.log('%s  <dd><pre><code>%s</code></pre></dd>', indent(), code);
  });
  runner.on('fail', function(test, err) {
    console.log(
      '%s  <dt class="error">%s</dt>',
      indent(),
      utils.escape(test.title)
    );
    var code = utils.escape(utils.clean(test.body));
    console.log(
      '%s  <dd class="error"><pre><code>%s</code></pre></dd>',
      indent(),
      code
    );
    console.log('%s  <dd class="error">%s</dd>', indent(), utils.escape(err));
  });
}