File size: 740 Bytes
5fae594 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
function listMatcher(expectedList){
return eq.call( this, this.actual, expectedList );
function eq( actual, expected ) {
if( !actual && !expected ) {
return true;
}
if( !actual || !expected ) {
this.message = function(){
return 'one false but not both ' +
actual + ' ' + expected
};
return false;
}
if( head(actual) != head(expected) ) {
this.message = function(){
return 'different items in list' +
head(actual) + head(expected)
};
return false;
}
return eq.call( this, tail(actual), tail(expected) );
}
} |