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

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

/**
 * Expose `Landing`.
 */

exports = module.exports = Landing;

/**
 * Airplane color.
 */

Base.colors.plane = 0;

/**
 * Airplane crash color.
 */

Base.colors['plane crash'] = 31;

/**
 * Runway color.
 */

Base.colors.runway = 90;

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

function Landing(runner) {
  
Base.call(this, runner);

  var 
self = this
    
, stats = this.stats
    
, width = Base.window.width * .75 | 0
    
, total = runner.total
    
, stream = process.stdout
    
, plane = color('plane', '✈')
    , 
crashed = -1
    
, n = 0;

  function 
runway() {
    var 
buf = Array(width).join('-');
    return 
'  ' + color('runway', buf);
  }

  
runner.on('start', function(){
    
stream.write('n  ');
    
cursor.hide();
  });

  
runner.on('test end', function(test){
    
// check if the plane crashed
    
var col = -1 == crashed
      
? width * ++n / total | 0
      
: crashed;

    
// show the crash
    
if ('failed' == test.state) {
      
plane = color('plane crash', '✈');
      
crashed = col;
    }

    
// render landing strip
    
stream.write('u001b[4Fnn');
    
stream.write(runway());
    
stream.write('n  ');
    
stream.write(color('runway', Array(col).join('⋅')));
    
stream.write(plane)
    
stream.write(color('runway', Array(width - col).join('⋅') + 'n'));
    
stream.write(runway());
    
stream.write('u001b[0m');
  });

  
runner.on('end', function(){
    
cursor.show();
    
console.log();
    
self.epilogue();
  });
}

/**
 * Inherit from `Base.prototype`.
 */

Landing.prototype.__proto__ = Base.prototype;
?>
Онлайн: 2
Реклама