@@ -58,24 +58,42 @@ describe('exec node', function() {
5858 arg3 ( null , arg1 , arg1 . toUpperCase ( ) ) ;
5959 } ) ;
6060
61- helper . load ( execNode , flow , function ( ) {
62- var n1 = helper . getNode ( "n1" ) ;
63- var n2 = helper . getNode ( "n2" ) ;
64- var n3 = helper . getNode ( "n3" ) ;
65- var n4 = helper . getNode ( "n4" ) ;
66- n2 . on ( "input" , function ( msg ) {
67- //console.log(msg);
68- msg . should . have . property ( "payload" ) ;
69- msg . payload . should . be . a . String ( ) ;
70- msg . payload . should . equal ( "echo" ) ;
71- } ) ;
72- n3 . on ( "input" , function ( msg ) {
73- //console.log(msg);
74- msg . should . have . property ( "payload" ) ;
75- msg . payload . should . be . a . String ,
76- msg . payload . should . equal ( "ECHO" ) ;
77- child_process . exec . restore ( ) ;
78- done ( ) ;
61+ helper . load ( execNode , flow , function ( ) {
62+ var n1 = helper . getNode ( "n1" ) ;
63+ var n2 = helper . getNode ( "n2" ) ;
64+ var n3 = helper . getNode ( "n3" ) ;
65+ var n4 = helper . getNode ( "n4" ) ;
66+ var received = 0 ;
67+ var messages = [ null , null ] ;
68+ var completeTest = function ( ) {
69+ received ++ ;
70+ if ( received < 2 ) {
71+ return ;
72+ }
73+ try {
74+ var msg = messages [ 0 ] ;
75+ msg . should . have . property ( "payload" ) ;
76+ msg . payload . should . be . a . String ( ) ;
77+ msg . payload . should . equal ( "echo" ) ;
78+
79+ msg = messages [ 1 ] ;
80+ msg . should . have . property ( "payload" ) ;
81+ msg . payload . should . be . a . String ,
82+ msg . payload . should . equal ( "ECHO" ) ;
83+ child_process . exec . restore ( ) ;
84+ done ( ) ;
85+ } catch ( err ) {
86+ child_process . exec . restore ( ) ;
87+ done ( err ) ;
88+ }
89+ } ;
90+ n2 . on ( "input" , function ( msg ) {
91+ messages [ 0 ] = msg ;
92+ completeTest ( ) ;
93+ } ) ;
94+ n3 . on ( "input" , function ( msg ) {
95+ messages [ 1 ] = msg ;
96+ completeTest ( ) ;
7997 } ) ;
8098 n1 . receive ( { payload :"and" } ) ;
8199 } ) ;
@@ -96,19 +114,39 @@ describe('exec node', function() {
96114 var n2 = helper . getNode ( "n2" ) ;
97115 var n3 = helper . getNode ( "n3" ) ;
98116 var n4 = helper . getNode ( "n4" ) ;
117+ var received = 0 ;
118+ var messages = [ null , null ] ;
119+ var completeTest = function ( ) {
120+ received ++ ;
121+ if ( received < 2 ) {
122+ return ;
123+ }
124+ try {
125+ var msg = messages [ 0 ] ;
126+ msg . should . have . property ( "payload" ) ;
127+ msg . payload . should . be . a . String ( ) ;
128+ msg . payload . should . equal ( "echo and more" ) ;
129+
130+ msg = messages [ 1 ] ;
131+ msg . should . have . property ( "payload" ) ;
132+ msg . payload . should . be . a . String ( ) ;
133+ msg . payload . should . equal ( "ECHO AND MORE" ) ;
134+ child_process . exec . restore ( ) ;
135+ done ( ) ;
136+ } catch ( err ) {
137+ child_process . exec . restore ( ) ;
138+ done ( err ) ;
139+ }
140+ } ;
141+
142+
99143 n2 . on ( "input" , function ( msg ) {
100- //console.log(msg);
101- msg . should . have . property ( "payload" ) ;
102- msg . payload . should . be . a . String ( ) ;
103- msg . payload . should . equal ( "echo and more" ) ;
144+ messages [ 0 ] = msg ;
145+ completeTest ( ) ;
104146 } ) ;
105147 n3 . on ( "input" , function ( msg ) {
106- //console.log(msg);
107- msg . should . have . property ( "payload" ) ;
108- msg . payload . should . be . a . String ( ) ;
109- msg . payload . should . equal ( "ECHO AND MORE" ) ;
110- child_process . exec . restore ( ) ;
111- done ( ) ;
148+ messages [ 1 ] = msg ;
149+ completeTest ( ) ;
112150 } ) ;
113151 n1 . receive ( { payload :"and" } ) ;
114152 } ) ;
@@ -252,24 +290,40 @@ describe('exec node', function() {
252290 var n2 = helper . getNode ( "n2" ) ;
253291 var n3 = helper . getNode ( "n3" ) ;
254292 var n4 = helper . getNode ( "n4" ) ;
255- n2 . on ( "input" , function ( msg ) {
256- msg . should . have . property ( "payload" ) ;
257- msg . payload . should . be . a . String ( ) ;
258- msg . payload . should . equal ( "this now works\n" ) ;
259- } ) ;
260- n4 . on ( "input" , function ( msg ) {
261- try {
293+ var received = 0 ;
294+ var messages = [ null , null ] ;
295+ var completeTest = function ( ) {
296+ received ++ ;
297+ if ( received < 2 ) {
298+ return ;
299+ }
300+ try {
301+ var msg = messages [ 0 ] ;
262302 msg . should . have . property ( "payload" ) ;
303+ msg . payload . should . be . a . String ( ) ;
304+ msg . payload . should . equal ( "this now works\n" ) ;
263305
306+ msg = messages [ 1 ] ;
307+ msg . should . have . property ( "payload" ) ;
264308 should . exist ( msg . payload ) ;
265309 msg . payload . should . be . a . Number ( ) ;
266310 msg . payload . should . equal ( 0 ) ;
267311 done ( ) ;
268312 } catch ( err ) {
269313 done ( err ) ;
270314 }
315+ } ;
316+
317+
318+ n2 . on ( "input" , function ( msg ) {
319+ messages [ 0 ] = msg ;
320+ completeTest ( ) ;
271321 } ) ;
272- n1 . receive ( { payload :null } ) ;
322+ n4 . on ( "input" , function ( msg ) {
323+ messages [ 1 ] = msg ;
324+ completeTest ( ) ;
325+ } ) ;
326+ n1 . receive ( { payload :null , fred :123 } ) ;
273327 } ) ;
274328 } ) ;
275329
0 commit comments