1
1
"use strict" ;
2
2
var vows = require ( 'vows' )
3
3
, assert = require ( 'assert' )
4
+ , util = require ('util' )
5
+ , EE = require ( 'events' ) . EventEmitter
4
6
, levels = require ( '../lib/levels' ) ;
5
7
6
8
function MockLogger ( ) {
@@ -31,13 +33,14 @@ function MockRequest(remoteAddr, method, originalUrl) {
31
33
}
32
34
33
35
function MockResponse ( statusCode ) {
34
-
36
+ var r = this ;
35
37
this . statusCode = statusCode ;
36
38
37
39
this . end = function ( chunk , encoding ) {
38
-
40
+ setImmediate ( function ( ) { r . emit ( 'finish' ) } ) ;
39
41
} ;
40
42
}
43
+ util . inherits ( MockResponse , EE ) ;
41
44
42
45
vows . describe ( 'log4js connect logger' ) . addBatch ( {
43
46
'getConnectLoggerModule' : {
@@ -61,9 +64,12 @@ vows.describe('log4js connect logger').addBatch({
61
64
topic : function ( d ) {
62
65
var req = new MockRequest ( 'my.remote.addr' , 'GET' , 'http://url/hoge.png' ) ; // not gif
63
66
var res = new MockResponse ( 200 ) ;
67
+ var cb = this . callback ;
64
68
d . cl ( req , res , function ( ) { } ) ;
65
69
res . end ( 'chunk' , 'encoding' ) ;
66
- return d . ml . messages ;
70
+ setTimeout ( function ( ) {
71
+ cb ( null , d . ml . messages ) ;
72
+ } , 10 ) ;
67
73
} ,
68
74
'check message' : function ( messages ) {
69
75
assert . isArray ( messages ) ;
@@ -103,9 +109,12 @@ vows.describe('log4js connect logger').addBatch({
103
109
topic : function ( d ) {
104
110
var req = new MockRequest ( 'my.remote.addr' , 'GET' , 'http://url/hoge.png' ) ; // not gif
105
111
var res = new MockResponse ( 200 ) ;
112
+ var cb = this . callback ;
106
113
d . cl ( req , res , function ( ) { } ) ;
107
114
res . end ( 'chunk' , 'encoding' ) ;
108
- return d . ml . messages ;
115
+ setTimeout ( function ( ) {
F438
116
+ cb ( null , d . ml . messages )
117
+ } , 10 ) ;
109
118
} ,
110
119
'check message' : function ( messages ) {
111
120
assert . isArray ( messages ) ;
@@ -123,9 +132,12 @@ vows.describe('log4js connect logger').addBatch({
123
132
topic : function ( d ) {
124
133
var req = new MockRequest ( 'my.remote.addr' , 'GET' , 'http://url/hoge.gif' ) ; // gif
125
134
var res = new MockResponse ( 200 ) ;
135
+ var cb = this . callback ;
126
136
d . cl ( req , res , function ( ) { } ) ;
127
137
res . end ( 'chunk' , 'encoding' ) ;
128
- return d . ml . messages ;
138
+ setTimeout ( function ( ) {
139
+ cb ( null , d . ml . messages )
140
+ } , 10 ) ;
129
141
} ,
130
142
'check message' : function ( messages ) {
131
143
assert . isArray ( messages ) ;
@@ -136,9 +148,12 @@ vows.describe('log4js connect logger').addBatch({
136
148
topic : function ( d ) {
137
149
var req = new MockRequest ( 'my.remote.addr' , 'GET' , 'http://url/hoge.jpeg' ) ; // gif
138
150
var res = new MockResponse ( 200 ) ;
151
+ var cb = this . callback ;
139
152
d . cl ( req , res , function ( ) { } ) ;
140
153
res . end ( 'chunk' , 'encoding' ) ;
141
- return d . ml . messages ;
154
+ setTimeout ( function ( ) {
155
+ cb ( null , d . ml . messages )
156
+ } , 10 ) ;
142
157
} ,
143
158
'check message' : function ( messages ) {
144
159
assert . isArray ( messages ) ;
@@ -157,9 +172,12 @@ vows.describe('log4js connect logger').addBatch({
157
172
topic : function ( d ) {
158
173
var req = new MockRequest ( 'my.remote.addr' , 'GET' , 'http://url/hoge.png' ) ; // not gif
159
174
var res = new MockResponse ( 200 ) ;
175
+ var cb = this . callback ;
160
176
d . cl ( req , res , function ( ) { } ) ;
161
177
res . end ( 'chunk' , 'encoding' ) ;
162
- return d . ml . messages ;
178
+ setTimeout ( function ( ) {
179
+ cb ( null , d . ml . messages )
180
+ } , 10 ) ;
163
181
} ,
164
182
'check message' : function ( messages ) {
165
183
assert . isArray ( messages ) ;
@@ -177,9 +195,12 @@ vows.describe('log4js connect logger').addBatch({
177
195
topic : function ( d ) {
178
196
var req = new MockRequest ( 'my.remote.addr' , 'GET' , 'http://url/hoge.gif' ) ; // gif
179
197
var res = new MockResponse ( 200 ) ;
198
+ var cb = this . callback ;
180
199
d . cl ( req , res , function ( ) { } ) ;
181
200
res . end ( 'chunk' , 'encoding' ) ;
182
- return d . ml . messages ;
201
+ setTimeout ( function ( ) {
202
+ cb ( null , d . ml . messages )
203
+ } , 10 ) ;
183
204
} ,
184
205
'check message' : function ( messages ) {
185
206
assert . isArray ( messages ) ;
@@ -191,9 +212,12 @@ vows.describe('log4js connect logger').addBatch({
191
212
topic : function ( d ) {
192
213
var req = new MockRequest ( 'my.remote.addr' , 'GET' , 'http://url/hoge.jpeg' ) ; // gif
193
214
var res = new MockResponse ( 200 ) ;
215
+ var cb = this . callback ;
194
216
d . cl ( req , res , function ( ) { } ) ;
195
217
res . end ( 'chunk' , 'encoding' ) ;
196
- return d . ml . messages ;
218
+ setTimeout ( function ( ) {
219
+ cb ( null , d . ml . messages )
220
+ } , 10 ) ;
197
221
} ,
198
222
'check message' : function ( messages ) {
199
223
assert . isArray ( messages ) ;
@@ -212,9 +236,12 @@ vows.describe('log4js connect logger').addBatch({
212
236
topic : function ( d ) {
213
237
var req = new MockRequest ( 'my.remote.addr' , 'GET' , 'http://url/hoge.png' ) ; // not gif
214
238
var res = new MockResponse ( 200 ) ;
239
+ var cb = this . callback ;
215
240
d . cl ( req , res , function ( ) { } ) ;
216
241
res . end ( 'chunk' , 'encoding' ) ;
217
- return d . ml . messages ;
242
+ setTimeout ( function ( ) {
243
+ cb ( null , d . ml . messages )
244
+ } , 10 ) ;
218
245
} ,
219
246
'check message' : function ( messages ) {
220
247
assert . isArray ( messages ) ;
@@ -232,9 +259,12 @@ vows.describe('log4js connect logger').addBatch({
232
259
topic : function ( d ) {
233
260
var req = new MockRequest ( 'my.remote.addr' , 'GET' , 'http://url/hoge.gif' ) ; // gif
234
261
var res = new MockResponse ( 200 ) ;
262
+ var cb = this . callback ;
235
263
d . cl ( req , res , function ( ) { } ) ;
236
264
res . end ( 'chunk' , 'encoding' ) ;
237
- return d . ml . messages ;
265
+ setTimeout ( function ( ) {
266
+ cb ( null , d . ml . messages )
267
+ } , 10 ) ;
238
268
} ,
239
269
'check message' : function ( messages ) {
240
270
assert . isArray ( messages ) ;
@@ -246,9 +276,12 @@ vows.describe('log4js connect logger').addBatch({
246
276
topic : function ( d ) {
247
277
var req = new MockRequest ( 'my.remote.addr' , 'GET' , 'http://url/hoge.jpeg' ) ; // gif
248
278
var res = new MockResponse ( 200 ) ;
279
+ var cb = this . callback ;
249
280
d . cl ( req , res , function ( ) { } ) ;
250
281
res . end ( 'chunk' , 'encoding' ) ;
251
- return d . ml . messages ;
282
+ setTimeout ( function ( ) {
283
+ cb ( null , d . ml . messages )
284
+ } , 10 ) ;
252
285
} ,
253
286
'check message' : function ( messages ) {
254
287
assert . isArray ( messages ) ;
0 commit comments