* Refactoring utils

* second level block parsing tests
This commit is contained in:
2016-04-01 23:05:57 +05:30
parent ae1b3266a4
commit a545b6da6f
3 changed files with 117 additions and 56 deletions
+16 -56
View File
@@ -1,64 +1,16 @@
/* globals describe, it, before, after, beforeEach, afterEach */
var messageLog = [];
var pr = function( msg ){
messageLog.push( msg );
// console.log( '--', msg );
}
function asyncFn( args ){
return function( cb ){
setTimeout( function(){
pr( args.msg );
if( args.error ){
if( args.isThrow ){
throw args.error;
} else {
return cb( args.error );
}
} else {
return cb( );
}
});
}
}
var utils = require( './test/data/utils' );
var resolvingFn = utils.resolvingFn;
var beforeFn = asyncFn({
msg: 'Before_block',
delay: 100,
error: null,
});
var it1 = asyncFn({
msg: 'It_1',
delay: 10,
error: null,
});
var it2 = asyncFn({
msg: 'It_2',
delay: 500,
error: null,
});
var afterFn = asyncFn({
msg: 'After_block',
delay: 60,
error: null,
});
var beforeEachFn = asyncFn({
msg: 'BeforeEach_block',
delay: 5,
error: null
});
var afterEachFn = asyncFn({
msg: 'AfterEach_block',
delay: 5,
error: null
});
var beforeFn = resolvingFn( 'Before_block' );
var it1 = resolvingFn( 'It_1' );
var it2 = resolvingFn( 'It_2' );
var afterFn = resolvingFn( 'After_block' );
var beforeEachFn = resolvingFn( 'BeforeEach_block' );
var afterEachFn = resolvingFn( 'AfterEach_block' );
describe( 'describe', function(){
@@ -70,5 +22,13 @@ describe( 'describe', function(){
it( 'it2', it2 );
after( afterFn );
describe( 'child block', function(){
before( beforeFn );
beforeEach( beforeEachFn );
afterEach( afterEachFn );
it( 'it1', it1 );
it( 'it2', it2 );
after( afterFn );
});
});
+64
View File
@@ -0,0 +1,64 @@
var messageLog = [];
var pr = function( msg ){
messageLog.push( msg );
// console.log( '--', msg );
}
function asyncFn( args ){
return function( cb ){
setTimeout( function(){
pr( args.msg );
if( args.error ){
if( args.isThrow ){
throw args.error;
} else {
return cb( args.error );
}
} else {
return cb( );
}
});
}
}
function rand(){
return parseInt( Math.random()*1000 ) % 27;
}
function resolvingFn( msg ){
return asyncFn({
msg: msg,
delay: rand(),
error: null,
});
}
function rejectingFn( msg ){
return asyncFn({
msg: msg,
delay: rand(),
error: new Error( 'Reject:' + msg ),
});
}
function throwingFn( msg ){
return asyncFn({
msg: msg,
delay: rand(),
error: new Error( 'Throw:' + msg ),
isThrow: true,
});
}
module.exports = {
messageLog: messageLog,
pr: pr,
asyncFn: asyncFn,
resolvingFn: resolvingFn,
rejectingFn: rejectingFn,
throwingFn: throwingFn,
};