@@ -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,26 +1201,47 @@ 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
1207- function testReject ( promises , deferreds ) {
1207+
1208+ it ( "rejects after all promises are rejected with null" , function ( ) {
1209+ var deferreds = [ Q . defer ( ) , Q . defer ( ) ] ;
1210+ var promises = [ deferreds [ 0 ] . promise , deferreds [ 1 ] . promise ] ;
1211+
1212+ return testReject ( promises , deferreds , null ) ;
1213+ } ) ;
1214+
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 ] ;
1218+
1219+ return testReject ( promises , deferreds , undefined ) ;
1220+ } ) ;
1221+
1222+ function testReject ( promises , deferreds , rejectionValue ) {
12081223 var promise = Q . any ( promises ) ;
1209- var expectedError = new Error ( 'Rejected' ) ;
1224+ var expectedError ;
1225+
1226+ if ( rejectionValue ) {
1227+ expectedError = new Error ( rejectionValue . message ) ;
1228+ } else {
1229+ expectedError = new Error ( "" + rejectionValue ) ;
1230+ }
12101231
12111232 for ( var index = 0 ; index < deferreds . length ; index ++ ) {
12121233 var deferred = deferreds [ index ] ;
12131234 ( function ( ) {
1214- deferred . reject ( expectedError ) ;
1235+ deferred . reject ( rejectionValue ) ;
12151236 } ) ( ) ;
12161237 }
12171238
12181239 return Q . delay ( 250 )
12191240 . then ( function ( ) {
12201241 expect ( promise . isRejected ( ) ) . toBe ( true ) ;
1221- expect ( promise . inspect ( ) . reason ) . toBe ( expectedError ) ;
1242+ expect ( promise . inspect ( ) . reason ) . toEqual ( expectedError ) ;
12221243 expect ( promise . inspect ( ) . reason . message )
1223- . toBe ( "Q can't get fulfillment value from any promise, all promises were rejected. Last error message: Rejected" ) ;
1244+ . toBe ( "Q can't get fulfillment value from any promise, all promises were rejected. Last error message: " + expectedError . message ) ;
12241245 } )
12251246 . timeout ( 1000 ) ;
12261247 }
0 commit comments