This repository was archived by the owner on Jan 22, 2025. It is now read-only.
File tree 2 files changed +38
-7
lines changed
2 files changed +38
-7
lines changed Original file line number Diff line number Diff line change @@ -17,15 +17,15 @@ function Queue() {
17
17
get : function ( ) {
18
18
var result = ends . promise . get ( "head" ) ;
19
19
ends . promise = ends . promise . get ( "tail" ) ;
20
- return result . fail ( function ( reason ) {
21
- closed . resolve ( ) ;
22
- throw reason ;
20
+ return result . fail ( function ( error ) {
21
+ closed . resolve ( error ) ;
22
+ throw error ;
23
23
} ) ;
24
24
} ,
25
25
closed : closed . promise ,
26
- close : function ( reason ) {
27
- reason = reason || new Error ( "Can't get value from closed queue" ) ;
28
- var end = { head : Q . reject ( reason ) } ;
26
+ close : function ( error ) {
27
+ error = error || new Error ( "Can't get value from closed queue" ) ;
28
+ var end = { head : Q . reject ( error ) } ;
29
29
end . tail = end ;
30
30
ends . resolve ( end ) ;
31
31
return closed . promise ;
Original file line number Diff line number Diff line change 1
1
2
2
var Q = require ( "../q" ) ;
3
3
var Queue = require ( "../queue" ) ;
4
+
5
+ global . Q = Q ;
4
6
require ( "./lib/jasmine-promise" ) ;
5
7
6
8
describe ( "queue" , function ( ) {
@@ -142,7 +144,36 @@ describe("queue", function () {
142
144
} )
143
145
. catch ( function ( error ) {
144
146
expect ( error . message ) . toBe ( "Can't get value from closed queue" ) ;
145
- } ) ;
147
+ } )
148
+ . then ( function ( ) {
149
+ return queue . closed ;
150
+ } )
151
+ . then ( function ( error ) {
152
+ expect ( error . message ) . toBe ( "Can't get value from closed queue" ) ;
153
+ } )
154
+ } ) ;
155
+
156
+ it ( "should close with alternate error" , function ( ) {
157
+
158
+ var queue = Queue ( ) ;
159
+ queue . close ( new Error ( "Alternate reason" ) ) ;
160
+
161
+ return Q . try ( function ( ) {
162
+ return queue . get ( ) ;
163
+ } )
164
+ . catch ( function ( error ) {
165
+ expect ( error . message ) . toBe ( "Alternate reason" ) ;
166
+ return queue . get ( ) ;
167
+ } )
168
+ . catch ( function ( error ) {
169
+ expect ( error . message ) . toBe ( "Alternate reason" ) ;
170
+ } )
171
+ . then ( function ( ) {
172
+ return queue . closed ;
173
+ } )
174
+ . then ( function ( error ) {
175
+ expect ( error . message ) . toBe ( "Alternate reason" ) ;
176
+ } )
146
177
} ) ;
147
178
148
179
} ) ;
You can’t perform that action at this time.
0 commit comments