@@ -345,4 +345,49 @@ describe('SourceMiddlewareChain', function() {
345345 assert ( payload instanceof Facade , 'Payload should still be a facade.' ) ;
346346 } ) ;
347347 } ) ;
348+
349+ it ( 'should be able to add and apply middleware interchangably' , function ( ) {
350+ chain . add ( function ( chain ) {
351+ chain . payload . obj . test . push ( 1 ) ;
352+ chain . next ( chain . payload ) ;
353+ } ) ;
354+ chain . applyMiddlewares ( { test : [ ] } , 'Test' , function ( payload ) {
355+ assert . deepEqual ( payload . obj . test , [ 1 ] ) ;
356+ } ) ;
357+ chain . add ( function ( chain ) {
358+ chain . payload . obj . test . push ( 2 ) ;
359+ chain . next ( chain . payload ) ;
360+ } ) ;
361+ chain . applyMiddlewares ( { test : [ ] } , 'Test' , function ( payload ) {
362+ assert . deepEqual ( payload . obj . test , [ 1 , 2 ] ) ;
363+ } ) ;
364+ chain . add ( function ( chain ) {
365+ chain . payload . obj . test . push ( 3 ) ;
366+ chain . next ( chain . payload ) ;
367+ } ) ;
368+ chain . applyMiddlewares ( { test : [ ] } , 'Test' , function ( payload ) {
369+ assert . deepEqual ( payload . obj . test , [ 1 , 2 , 3 ] ) ;
370+ } ) ;
371+ chain . add ( function ( chain ) {
372+ chain . payload . obj . test . push ( 4 ) ;
373+ chain . next ( chain . payload ) ;
374+ } ) ;
375+ chain . applyMiddlewares ( { test : [ ] } , 'Test' , function ( payload ) {
376+ assert . deepEqual ( payload . obj . test , [ 1 , 2 , 3 , 4 ] ) ;
377+ } ) ;
378+ chain . add ( function ( chain ) {
379+ chain . payload . obj . test . push ( 5 ) ;
380+ chain . next ( chain . payload ) ;
381+ } ) ;
382+ chain . applyMiddlewares ( { test : [ ] } , 'Test' , function ( payload ) {
383+ assert . deepEqual ( payload . obj . test , [ 1 , 2 , 3 , 4 , 5 ] ) ;
384+ } ) ;
385+ chain . add ( function ( chain ) {
386+ chain . payload . obj . test . push ( 6 ) ;
387+ chain . next ( chain . payload ) ;
388+ } ) ;
389+ chain . applyMiddlewares ( { test : [ ] } , 'Test' , function ( payload ) {
390+ assert . deepEqual ( payload . obj . test , [ 1 , 2 , 3 , 4 , 5 , 6 ] ) ;
391+ } ) ;
392+ } ) ;
348393} ) ;
0 commit comments