11describe ( 'Q-API' , function ( ) {
2- var Q = require ( 'q' ) ;
2+ var isNode = module && module . exports ;
33
4- it ( 'should execute .spawn() correctly' , function ( ) {
5- var Thread = require ( '../lib/thread.js' ) ;
6- var p = new Thread ( [ 1 , 2 , 3 ] ) ;
4+ if ( isNode ) {
5+ var Q = require ( 'q' ) ;
76
8- var done = false ;
9- var result = null ;
7+ it ( 'should execute .spawn() correctly' , function ( ) {
8+ var Thread = require ( '../lib/thread.js' ) ;
9+ var p = new Thread ( [ 1 , 2 , 3 ] ) ;
1010
11- runs ( function ( ) {
12- Q . when ( p . spawn ( function ( data ) {
13- return [ 'something' , 'completly' , 'else' ] ;
14- } ) ) . then ( function ( data ) {
15- result = data ;
16- done = true ;
11+ var done = false ;
12+ var result = null ;
13+
14+ runs ( function ( ) {
15+ Q . when ( p . spawn ( function ( data ) {
16+ return [ 'something' , 'completly' , 'else' ] ;
17+ } ) ) . then ( function ( data ) {
18+ result = data ;
19+ done = true ;
20+ } ) ;
1721 } ) ;
18- } ) ;
1922
20- waitsFor ( function ( ) {
21- return done ;
22- } , "it should finish" , 500 ) ;
23+ waitsFor ( function ( ) {
24+ return done ;
25+ } , "it should finish" , 500 ) ;
2326
24- runs ( function ( ) {
25- expect ( result ) . toEqual ( [ 'something' , 'completly' , 'else' ] ) ;
27+ runs ( function ( ) {
28+ expect ( result ) . toEqual ( [ 'something' , 'completly' , 'else' ] ) ;
29+ } ) ;
2630 } ) ;
27- } ) ;
2831
29- it ( 'should .map() correctly' , function ( ) {
30- var Thread = require ( '../lib/thread.js' ) ;
31- var p = new Thread ( [ 1 , 2 , 3 ] ) ;
32+ it ( 'should .map() correctly' , function ( ) {
33+ var Thread = require ( '../lib/thread.js' ) ;
34+ var p = new Thread ( [ 1 , 2 , 3 ] ) ;
3235
33- var done = false ;
34- var result = null ;
36+ var done = false ;
37+ var result = null ;
3538
36- runs ( function ( ) {
37- Q . when ( p . map ( function ( el ) {
38- return el + 1 ;
39- } ) ) . then ( function ( data ) {
40- result = data ;
41- done = true ;
39+ runs ( function ( ) {
40+ Q . when ( p . map ( function ( el ) {
41+ return el + 1 ;
42+ } ) ) . then ( function ( data ) {
43+ result = data ;
44+ done = true ;
45+ } ) ;
4246 } ) ;
43- } ) ;
4447
45- waitsFor ( function ( ) {
46- return done ;
47- } , "it should finish" , 500 ) ;
48+ waitsFor ( function ( ) {
49+ return done ;
50+ } , "it should finish" , 500 ) ;
4851
49- runs ( function ( ) {
50- expect ( result ) . toEqual ( [ 2 , 3 , 4 ] ) ;
52+ runs ( function ( ) {
53+ expect ( result ) . toEqual ( [ 2 , 3 , 4 ] ) ;
54+ } ) ;
5155 } ) ;
52- } ) ;
5356
54- it ( 'should queue map work correctly' , function ( ) {
55- var Thread = require ( '../lib/thread.js' ) ;
56- var p = new Thread ( [ 1 , 2 , 3 ] , { maxWorkers : 2 } ) ;
57+ it ( 'should queue map work correctly' , function ( ) {
58+ var Thread = require ( '../lib/thread.js' ) ;
59+ var p = new Thread ( [ 1 , 2 , 3 ] , { maxWorkers : 2 } ) ;
5760
58- var done = false ;
59- var result = null ;
61+ var done = false ;
62+ var result = null ;
6063
61- runs ( function ( ) {
62- Q . when ( p . map ( function ( el ) {
63- return el + 1 ;
64- } ) ) . then ( function ( data ) {
65- result = data ;
66- done = true ;
64+ runs ( function ( ) {
65+ Q . when ( p . map ( function ( el ) {
66+ return el + 1 ;
67+ } ) ) . then ( function ( data ) {
68+ result = data ;
69+ done = true ;
70+ } ) ;
6771 } ) ;
68- } ) ;
6972
70- waitsFor ( function ( ) {
71- return done ;
72- } , "it should finish" , 500 ) ;
73+ waitsFor ( function ( ) {
74+ return done ;
75+ } , "it should finish" , 500 ) ;
7376
74- runs ( function ( ) {
75- expect ( result ) . toEqual ( [ 2 , 3 , 4 ] ) ;
77+ runs ( function ( ) {
78+ expect ( result ) . toEqual ( [ 2 , 3 , 4 ] ) ;
79+ } ) ;
7680 } ) ;
77- } ) ;
78-
79- it ( 'should chain .map() correctly' , function ( ) {
80- var Thread = require ( '../lib/thread.js' ) ;
81- var p = new Thread ( [ 1 , 2 , 3 ] ) ;
82-
83- var done = false ;
84- var result = null ;
8581
86- runs ( function ( ) {
87- Q . when ( p . map ( function ( el ) {
88- return el + 1 ;
89- } ) ) . then ( function ( ) {
90- return p . map ( function ( el ) {
91- return el - 1 ;
82+ it ( 'should chain .map() correctly' , function ( ) {
83+ var Thread = require ( '../lib/thread.js' ) ;
84+ var p = new Thread ( [ 1 , 2 , 3 ] ) ;
85+
86+ var done = false ;
87+ var result = null ;
88+
89+ runs ( function ( ) {
90+ Q . when ( p . map ( function ( el ) {
91+ return el + 1 ;
92+ } ) ) . then ( function ( ) {
93+ return p . map ( function ( el ) {
94+ return el - 1 ;
95+ } ) ;
96+ } ) . then ( function ( data ) {
97+ result = data ;
98+ done = true ;
9299 } ) ;
93- } ) . then ( function ( data ) {
94- result = data ;
95- done = true ;
96100 } ) ;
97- } ) ;
98101
99- waitsFor ( function ( ) {
100- return done ;
101- } , "it should finish" , 500 ) ;
102+ waitsFor ( function ( ) {
103+ return done ;
104+ } , "it should finish" , 500 ) ;
102105
103- runs ( function ( ) {
104- expect ( result ) . toEqual ( [ 1 , 2 , 3 ] ) ;
106+ runs ( function ( ) {
107+ expect ( result ) . toEqual ( [ 1 , 2 , 3 ] ) ;
108+ } ) ;
105109 } ) ;
106- } ) ;
107-
108- it ( 'should mix .spawn and .map() correctly' , function ( ) {
109- var Thread = require ( '../lib/thread.js' ) ;
110- var p = new Thread ( [ 1 , 2 , 3 ] ) ;
111-
112- var done = false ;
113- var result = null ;
114-
115- runs ( function ( ) {
116- Q . when ( p . map ( function ( el ) {
117- return el + 1 ;
118- } ) ) . then ( function ( ) {
119- return p . spawn ( function ( data ) {
120- var sum = 0 ;
121- for ( var i = 0 ; i < data . length ; ++ i ) {
122- sum += data [ i ] ;
123- }
124- return sum ;
110+
111+ it ( 'should mix .spawn and .map() correctly' , function ( ) {
112+ var Thread = require ( '../lib/thread.js' ) ;
113+ var p = new Thread ( [ 1 , 2 , 3 ] ) ;
114+
115+ var done = false ;
116+ var result = null ;
117+
118+ runs ( function ( ) {
119+ Q . when ( p . map ( function ( el ) {
120+ return el + 1 ;
121+ } ) ) . then ( function ( ) {
122+ return p . spawn ( function ( data ) {
123+ var sum = 0 ;
124+ for ( var i = 0 ; i < data . length ; ++ i ) {
125+ sum += data [ i ] ;
126+ }
127+ return sum ;
128+ } ) ;
129+ } ) . then ( function ( data ) {
130+ result = data ;
131+ done = true ;
125132 } ) ;
126- } ) . then ( function ( data ) {
127- result = data ;
128- done = true ;
129133 } ) ;
130- } ) ;
131134
132- waitsFor ( function ( ) {
133- return done ;
134- } , "it should finish" , 500 ) ;
135+ waitsFor ( function ( ) {
136+ return done ;
137+ } , "it should finish" , 500 ) ;
135138
136- runs ( function ( ) {
137- expect ( result ) . toEqual ( 9 ) ;
138- } ) ;
139- } ) ;
140-
141- it ( 'should execute .reduce() correctly' , function ( ) {
142- var Thread = require ( '../lib/thread.js' ) ;
143- var p = new Thread ( [ 1 , 2 , 3 ] ) ;
144- var done = false ;
145- var result = null ;
146-
147- runs ( function ( ) {
148- Q . when ( p . reduce ( function ( data ) {
149- return data [ 0 ] + data [ 1 ] ;
150- } ) ) . then ( function ( data ) {
151- result = data ;
152- done = true ;
139+ runs ( function ( ) {
140+ expect ( result ) . toEqual ( 9 ) ;
153141 } ) ;
154142 } ) ;
155143
156- waitsFor ( function ( ) {
157- return done ;
158- } , "it should finish" , 500 ) ;
144+ it ( 'should execute .reduce() correctly' , function ( ) {
145+ var Thread = require ( '../lib/thread.js' ) ;
146+ var p = new Thread ( [ 1 , 2 , 3 ] ) ;
147+ var done = false ;
148+ var result = null ;
149+
150+ runs ( function ( ) {
151+ Q . when ( p . reduce ( function ( data ) {
152+ return data [ 0 ] + data [ 1 ] ;
153+ } ) ) . then ( function ( data ) {
154+ result = data ;
155+ done = true ;
156+ } ) ;
157+ } ) ;
158+
159+ waitsFor ( function ( ) {
160+ return done ;
161+ } , "it should finish" , 500 ) ;
159162
160- runs ( function ( ) {
161- expect ( result ) . toEqual ( 6 ) ;
163+ runs ( function ( ) {
164+ expect ( result ) . toEqual ( 6 ) ;
165+ } ) ;
162166 } ) ;
163- } ) ;
164-
165- it ( 'should process data returned from .then()' , function ( ) {
166- var Thread = require ( '../lib/thread.js' ) ;
167- var p = new Thread ( [ 1 , 2 , 3 ] ) ;
168-
169- var done = false ;
170- var result = null ;
171-
172- runs ( function ( ) {
173- Q . when ( p . map ( function ( el ) {
174- return el + 1 ;
175- } ) ) . then ( function ( ) {
176- return p . then ( function ( data ) {
177- var sum = 0 ;
178- for ( var i = 0 ; i < data . length ; ++ i ) {
179- sum += data [ i ] ;
180- }
181- return sum ;
167+
168+ it ( 'should process data returned from .then()' , function ( ) {
169+ var Thread = require ( '../lib/thread.js' ) ;
170+ var p = new Thread ( [ 1 , 2 , 3 ] ) ;
171+
172+ var done = false ;
173+ var result = null ;
174+
175+ runs ( function ( ) {
176+ Q . when ( p . map ( function ( el ) {
177+ return el + 1 ;
178+ } ) ) . then ( function ( ) {
179+ return p . then ( function ( data ) {
180+ var sum = 0 ;
181+ for ( var i = 0 ; i < data . length ; ++ i ) {
182+ sum += data [ i ] ;
183+ }
184+ return sum ;
185+ } ) ;
186+ } ) . then ( function ( data ) {
187+ result = data ;
188+ done = true ;
182189 } ) ;
183- } ) . then ( function ( data ) {
184- result = data ;
185- done = true ;
186190 } ) ;
187- } ) ;
188191
189- waitsFor ( function ( ) {
190- return done ;
191- } , "it should finish" , 500 ) ;
192+ waitsFor ( function ( ) {
193+ return done ;
194+ } , "it should finish" , 500 ) ;
192195
193- runs ( function ( ) {
194- expect ( result ) . toEqual ( 9 ) ;
196+ runs ( function ( ) {
197+ expect ( result ) . toEqual ( 9 ) ;
198+ } ) ;
195199 } ) ;
196- } ) ;
200+ }
197201} ) ;
0 commit comments