@@ -1234,6 +1234,74 @@ describe("ngAnimate $animateCss", function() {
12341234            $timeout . flush ( ) ; 
12351235          } ) . not . toThrow ( ) ; 
12361236        } ) ) ; 
1237+ 
1238+         it ( "should consider a positive options.delay value for the closing timeout" , 
1239+           inject ( function ( $animateCss ,  $rootElement ,  $timeout ,  $document )  { 
1240+ 
1241+           var  element  =  jqLite ( '<div></div>' ) ; 
1242+           $rootElement . append ( element ) ; 
1243+           jqLite ( $document [ 0 ] . body ) . append ( $rootElement ) ; 
1244+ 
1245+           var  options  =  { 
1246+             delay : 3 , 
1247+             duration : 3 , 
1248+             to : { 
1249+               height : '100px' 
1250+             } 
1251+           } ; 
1252+ 
1253+           var  animator  =  $animateCss ( element ,  options ) ; 
1254+ 
1255+           animator . start ( ) ; 
1256+           triggerAnimationStartFrame ( ) ; 
1257+ 
1258+           // At this point, the animation should still be running (closing timeout is 7500ms ... duration * 1.5 + delay => 7.5) 
1259+           $timeout . flush ( 7000 ) ; 
1260+ 
1261+           expect ( element . css ( prefix  +  'transition-delay' ) ) . toBe ( '3s' ) ; 
1262+           expect ( element . css ( prefix  +  'transition-duration' ) ) . toBe ( '3s' ) ; 
1263+ 
1264+           // Let's flush the remaining amout of time for the timeout timer to kick in 
1265+           $timeout . flush ( 500 ) ; 
1266+ 
1267+           dump ( element . attr ( 'style' ) ) ; 
1268+           expect ( element . css ( prefix  +  'transition-duration' ) ) . toBeOneOf ( '' ,  '0s' ) ; 
1269+           expect ( element . css ( prefix  +  'transition-delay' ) ) . toBeOneOf ( '' ,  '0s' ) ; 
1270+         } ) ) ; 
1271+ 
1272+         it ( "should ignore a boolean options.delay value for the closing timeout" , 
1273+           inject ( function ( $animateCss ,  $rootElement ,  $timeout ,  $document )  { 
1274+ 
1275+           var  element  =  jqLite ( '<div></div>' ) ; 
1276+           $rootElement . append ( element ) ; 
1277+           jqLite ( $document [ 0 ] . body ) . append ( $rootElement ) ; 
1278+ 
1279+           var  options  =  { 
1280+             delay : true , 
1281+             duration : 3 , 
1282+             to : { 
1283+               height : '100px' 
1284+             } 
1285+           } ; 
1286+ 
1287+           var  animator  =  $animateCss ( element ,  options ) ; 
1288+ 
1289+           animator . start ( ) ; 
1290+           triggerAnimationStartFrame ( ) ; 
1291+ 
1292+           // At this point, the animation should still be running (closing timeout is 4500ms ... duration * 1.5 => 4.5) 
1293+           $timeout . flush ( 4000 ) ; 
1294+ 
1295+           expect ( element . css ( prefix  +  'transition-delay' ) ) . toBeOneOf ( 'initial' ,  '0s' ) ; 
1296+           expect ( element . css ( prefix  +  'transition-duration' ) ) . toBe ( '3s' ) ; 
1297+ 
1298+           // Let's flush the remaining amout of time for the timeout timer to kick in 
1299+           $timeout . flush ( 500 ) ; 
1300+ 
1301+           expect ( element . css ( prefix  +  'transition-duration' ) ) . toBeOneOf ( '' ,  '0s' ) ; 
1302+           expect ( element . css ( prefix  +  'transition-delay' ) ) . toBeOneOf ( '' ,  '0s' ) ; 
1303+         } ) ) ; 
1304+ 
12371305      } ) ; 
12381306
12391307      describe ( "getComputedStyle" ,  function ( )  { 
0 commit comments