UNPKG

async-kit

Version:

A simple and powerful async abstraction lib for easily writing Node.js code.

77 lines (55 loc) 1.49 kB
# BDD Spec The Mocha framework is used for BDD-style tests. To help understand the following tests, here are the three helper functions used: ```js function createStats( n ) { var i ; var stats = { startCounter: [] , endCounter: [] , order: [] , plan: { then: 0 , 'else': 0 , 'catch': 0 , 'finally': 0 } , exec: { then: 0 , 'else': 0 , 'catch': 0 , 'finally': 0 } } ; for ( i = 0 ; i < n ; i ++ ) { stats.startCounter[ i ] = stats.endCounter[ i ] = 0 ; } return stats ; } function asyncJob( stats , id , delay , options , result , callback ) { var realResult = result.slice() ; stats.startCounter[ id ] ++ ; setTimeout( function() { stats.endCounter[ id ] ++ ; stats.order.push( id ) ; if ( typeof options.failCount === 'number' && options.failCount >= stats.endCounter[ id ] && ! ( result[ 0 ] instanceof Error ) ) { realResult[ 0 ] = new Error( "Planned failure" ) ; } callback.apply( undefined , realResult ) ; } , delay ) ; } function syncJob( stats , id , options , result , callback ) { var realResult = result.slice() ; stats.startCounter[ id ] ++ ; stats.endCounter[ id ] ++ ; stats.order.push( id ) ; if ( typeof options.failCount === 'number' && options.failCount >= stats.endCounter[ id ] && ! ( result[ 0 ] instanceof Error ) ) { realResult[ 0 ] = new Error( "Planned failure" ) ; } callback.apply( undefined , realResult ) ; } ``` The Full BDD spec generated by Mocha: