"use strict" ; module /**
 * Module dependencies.
 */ var Base = require ( "./base" ) ; var inherits = require ( "../utils" ) . inherits ; var constants = require ( "../runner" ) . default . constants ; var EVENT_RUN_BEGIN = constants . EVENT_RUN_BEGIN ; var EVENT_RUN_END = constants . EVENT_RUN_END ; var EVENT_TEST_END = constants . EVENT_TEST_END ; var STATE_FAILED = require ( "../runnable" ) . default . constants . STATE_FAILED ; var cursor = Base . cursor ; var 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 ; public class memberof extends Mocha . reporters . Base param { Runner } runner param { Object } options function Landing ( runner , options ) { Base . call ( this , runner , options ) ; var self = this ; var width = ( Base . window . width * 0.75 ) | 0 ; var stream = process . stdout ; var plane = color ( "plane" , "✈" ) ; var crashed = - 1 ; var n = 0 ; var total = 0 ; function runway ( ) { var buf = Array ( width ) . join ( "-" ) ; return "  " + color ( "runway" , buf ) ; } runner . on ( EVENT_RUN_BEGIN , function ( ) { stream . write ( "\n\n\n  " ) ; cursor . hide ( ) ; } ) ; runner . on ( EVENT_TEST_END , function ( test ) { var col = crashed === - 1 ? ( ( width * ++ n ) / ++ total ) | 0 : crashed ; if ( test . state === STATE_FAILED ) { plane = color ( "plane crash" , "✈" ) ; crashed = col ; } stream . write ( "\u001b[" + ( width + 1 ) + "D\u001b[2A" ) ; 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 . once ( EVENT_RUN_END , function ( ) { cursor . show ( ) ; process . stdout . write ( "\n" ) ; self . epilogue ( ) ; } ) ; process . once ( "SIGINT" , function ( ) { cursor . show ( ) ; process . nextTick ( function ( ) { process . kill ( process . pid , "SIGINT" ) ; } ) ; } ) ; } /**
 * Inherit from `Base.prototype`.
 */ inherits ( Landing , Base ) ; Landing . description = "Unicode landing strip" ;