| /** |
| * Module dependencies. |
| */ |
| |
| var Base = require('./base') |
| , cursor = Base.cursor |
| , color = Base.color; |
| |
| /** |
| * Expose `List`. |
| */ |
| |
| exports = module.exports = List; |
| |
| /** |
| * Initialize a new `List` test reporter. |
| * |
| * @param {Runner} runner |
| * @api public |
| */ |
| |
| function List(runner) { |
| Base.call(this, runner); |
| |
| var self = this |
| , stats = this.stats |
| , n = 0; |
| |
| runner.on('start', function(){ |
| console.log(); |
| }); |
| |
| runner.on('test', function(test){ |
| process.stdout.write(color('pass', ' ' + test.fullTitle() + ': ')); |
| }); |
| |
| runner.on('pending', function(test){ |
| var fmt = color('checkmark', ' -') |
| + color('pending', ' %s'); |
| console.log(fmt, test.fullTitle()); |
| }); |
| |
| runner.on('pass', function(test){ |
| var fmt = color('checkmark', ' '+Base.symbols.dot) |
| + color('pass', ' %s') |
| + (test.duration ? color('pass', ': ') + color(test.speed, '%dms') : ''); |
| cursor.CR(); |
| console.log(fmt, test.fullTitle(), test.duration || ''); |
| }); |
| |
| runner.on('fail', function(test, err){ |
| cursor.CR(); |
| console.log(color('fail', ' %d) %s'), ++n, test.fullTitle()); |
| }); |
| |
| runner.on('end', self.epilogue.bind(self)); |
| } |
| |
| /** |
| * Inherit from `Base.prototype`. |
| */ |
| |
| List.prototype.__proto__ = Base.prototype; |