Вход Регистрация
Файл: error-kitty/node_modules/mocha/lib/reporters/markdown.js
Строк: 93
<?php
/**
 * Module dependencies.
 */

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

/**
 * Expose `Markdown`.
 */

exports module.exports Markdown;

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

function Markdown(runner) {
  
Base.call(thisrunner);

  var 
self this
    
stats this.stats
    
level 0
    
buf '';

  function 
title(str) {
    return Array(
level).join('#') + ' ' str;
  }

  function 
indent() {
    return Array(
level).join('  ');
  }

  function 
mapTOC(suiteobj) {
    var 
ret obj;
    
obj obj[suite.title] = obj[suite.title] || { suitesuite };
    
suite.suites.forEach(function(suite){
      
mapTOC(suiteobj);
    });
    return 
ret;
  }

  function 
stringifyTOC(objlevel) {
    ++
level;
    var 
buf '';
    var 
link;
    for (var 
key in obj) {
      if (
'suite' == key) continue;
      if (
keylink ' - [' key '](#' utils.slug(obj[key].suite.fullTitle()) + ')n';
      if (
keybuf += Array(level).join('  ') + link;
      
buf += stringifyTOC(obj[key], level);
    }
    --
level;
    return 
buf;
  }

  function 
generateTOC(suite) {
    var 
obj mapTOC(suite, {});
    return 
stringifyTOC(obj0);
  }

  
generateTOC(runner.suite);

  
runner.on('suite', function(suite){
    ++
level;
    var 
slug utils.slug(suite.fullTitle());
    
buf += '<a name="' slug '"></a>' 'n';
    
buf += title(suite.title) + 'n';
  });

  
runner.on('suite end', function(suite){
    --
level;
  });

  
runner.on('pass', function(test){
    var 
code utils.clean(test.fn.toString());
    
buf += test.title '.n';
    
buf += 'n```jsn';
    
buf += code 'n';
    
buf += '```nn';
  });

  
runner.on('end', function(){
    
process.stdout.write('# TOCn');
    
process.stdout.write(generateTOC(runner.suite));
    
process.stdout.write(buf);
  });
}
?>
Онлайн: 1
Реклама