@@ -1192,7 +1192,7 @@ describe("any", function() {
11921192 var deferreds = [ Q . defer ( ) , Q . defer ( ) ] ;
11931193 var promises = [ deferreds [ 0 ] . promise , deferreds [ 1 ] . promise ] ;
11941194
1195- return testReject ( promises , deferreds ) ;
1195+ return testReject ( promises , deferreds , new Error ( 'Rejected' ) ) ;
11961196 } ) ;
11971197
11981198 it ( "rejects after all promises in a sparse array are rejected" , function ( ) {
@@ -1201,44 +1201,52 @@ describe("any", function() {
12011201 promises [ 0 ] = deferreds [ 0 ] . promise ;
12021202 promises [ 3 ] = deferreds [ 1 ] . promise ;
12031203
1204- return testReject ( promises , deferreds ) ;
1204+ return testReject ( promises , deferreds , new Error ( "Rejected" ) ) ;
12051205 } ) ;
12061206
12071207
1208- it ( "rejects after all promises are rejected with no values " , function ( ) {
1208+ it ( "rejects after all promises are rejected with null " , function ( ) {
12091209 var deferreds = [ Q . defer ( ) , Q . defer ( ) ] ;
12101210 var promises = [ deferreds [ 0 ] . promise , deferreds [ 1 ] . promise ] ;
12111211
1212- return testReject ( promises , deferreds , true ) ;
1212+ return testReject ( promises , deferreds , null ) ;
12131213 } ) ;
12141214
1215- function testReject ( promises , deferreds , expectNull ) {
1216- var promise = Q . any ( promises ) ;
1217- var expectedError = new Error ( 'Rejected' ) ;
1215+ it ( "rejects after all promises are rejected with undefined" , function ( ) {
1216+ var deferreds = [ Q . defer ( ) , Q . defer ( ) ] ;
1217+ var promises = [ deferreds [ 0 ] . promise , deferreds [ 1 ] . promise ] ;
12181218
1219- if ( expectNull ) {
1220- var expectedError = new Error ( "Rejection was null/undefined" ) ;
1219+ return testReject ( promises , deferreds , undefined ) ;
1220+ } ) ;
1221+
1222+ function testReject ( promises , deferreds , rejectionValue ) {
1223+ var promise = Q . any ( promises ) ;
1224+ var expectedError ;
1225+
1226+ switch ( rejectionValue ) {
1227+ case null :
1228+ expectedError = new Error ( "Rejection value was: null" ) ;
1229+ break ;
1230+ case undefined :
1231+ expectedError = new Error ( "Rejection value was: undefined" ) ;
1232+ break ;
1233+ default :
1234+ expectedError = new Error ( rejectionValue . message ) ;
12211235 }
12221236
12231237 for ( var index = 0 ; index < deferreds . length ; index ++ ) {
12241238 var deferred = deferreds [ index ] ;
12251239 ( function ( ) {
1226- deferred . reject ( expectedError ) ;
1240+ deferred . reject ( rejectionValue ) ;
12271241 } ) ( ) ;
12281242 }
12291243
12301244 return Q . delay ( 250 )
12311245 . then ( function ( ) {
12321246 expect ( promise . isRejected ( ) ) . toBe ( true ) ;
1233- expect ( promise . inspect ( ) . reason ) . toBe ( expectedError ) ;
1234-
1235- if ( expectNull ) {
1236- expect ( promise . inspect ( ) . reason . message )
1237- . toBe ( "Q can't get fulfillment value from any promise, all promises were rejected. Last error message: Rejection was null/undefined" ) ;
1238- } else {
1239- expect ( promise . inspect ( ) . reason . message )
1240- . toBe ( "Q can't get fulfillment value from any promise, all promises were rejected. Last error message: Rejected" ) ;
1241- }
1247+ expect ( promise . inspect ( ) . reason ) . toEqual ( expectedError ) ;
1248+ expect ( promise . inspect ( ) . reason . message )
1249+ . toBe ( "Q can't get fulfillment value from any promise, all promises were rejected. Last error message: " + expectedError . message ) ;
12421250 } )
12431251 . timeout ( 1000 ) ;
12441252 }
0 commit comments